PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HTTP Authentifizierung per PHP


Glare
11.04.2006, 10:44:04
Hallo,

ich möchte gerne eine HTML Seite auf das vorkommen eines bestimmten Inhalts überprüfen. Nur leider erfordert das aufrufen der Seite eine HTML Authetifizierung.

Kann ich irgendwie per PHP Benutzernamen und Paßwort übergeben?

Und da fällt mir doch glatt noch eine zweite Frage ein ;)

Wie kann ich am einfachsten eine PHP Seite sich selber alle 30 sec. neu laden lassen?

<?
$ueberpruefen = "http://ent.de.nwr/nagios/cgi-bin/status.cgi?host=all&servicestatustypes=28";
$suche = "Master Alert";
$fp = fopen ($ueberpruefen, "r");
$str = fread ($fp, filesize ($ueberpruefen));
$var = strchr ($text, $suche);

echo '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Nagios Alert</title>
</head>
<body>';

if($var){
echo '<div style="text-align: center;"><font
style="color: rgb(255, 0, 0);" size="+5"><span
style="font-family: Verdana; font-weight: bold;"><blink>Es
gibt
einen Master Alert im Nagios!!!</blink></span></font><br
style="font-family: Verdana; font-weight: bold;">
<br style="font-family: Verdana; font-weight: bold;">
<font style="color: rgb(255, 0, 0);" size="+5"><span
style="font-family: Verdana; font-weight: bold;">Bitte
umgehend &uuml;berpr&uuml;fen!!!<br>
<br>
</span></font></div>';
}else{
echo 'Alles in Ordnung..<blink>.</blink>';
}
fclose($fp);

echo '</body></html>';
?>
Gruß Glare

xabbuh
11.04.2006, 11:07:33
ich möchte gerne eine HTML Seite auf das vorkommen eines bestimmten Inhalts überprüfen. Nur leider erfordert das aufrufen der Seite eine HTML Authetifizierung.

Kann ich irgendwie per PHP Benutzernamen und Paßwort übergeben?
Dann schau dir mal an, wie ein URI allgemein aufgebaut ist:

<Schema>://[<Benutzer>[:<Passwort>]@]<Server>[:<Port>]/[<Pfad>][?<Anfrage>][#<Fragment>]

http://de.wikipedia.org/wiki/Uniform_Resource_Identifier#Aufbau

Glare
11.04.2006, 11:40:09
Ja, so hatte ich es auch schon versucht:

$ueberpruefen = "operator:DASPASSWORT@http://ent.de.nwr/nagios/cgi-bin/status.cgi?host=all&servicestatustypes=16&hoststatustypes=15";
$suche = "Master Service";
$fp = fopen ($ueberpruefen, "r");
$str = fread ($fp, filesize ($ueberpruefen));
$var = strchr ($text, $suche);

Nur leider kommt dann:

Warning: fopen(operator:DASPASSWORT@http://ent.de.nwr/nagios/cgi-bin/status.cgi?host=all&servicestatustypes=16&hoststatustypes=15) [function.fopen]: failed to open stream: No such file or directory in /home/servdesk/public_html/check.php on line 4

xabbuh
11.04.2006, 14:07:14
Ja, so hatte ich es auch schon versucht:

$ueberpruefen = "operator:DASPASSWORT@http://ent.de.nwr/nagios/cgi-bin/status.cgi?host=all&servicestatustypes=16&hoststatustypes=15";



Benutzername und Passwort erfolgen erst nach der Angabe des Schemas (in diesem Fall http):

$ueberpruefen = "http://operator:DASPASSWORT@ent.de.nwr/nagios/cgi-bin/status.cgi?host=all&servicestatustypes=16&hoststatustypes=15";

Glare
12.04.2006, 12:31:41
Ja, so hat es funktioniert, herzlichen Dank :)