Erledigt: [PHP] URL öffnen und Inhalt abfragen

M3Y3R

Well-known member
ID: 336361
L
8 Mai 2006
1.608
60
Hi,

folgende Situation:
Ich habe ein CGI-Script, welches die Verfügbarkeit von PC überwacht.
Dieses Script möchte ich nun mit der entsprechenden URL aufrufen und die Rückgabe-Werte verarbeiten.

Folgende URL habe ich:
HTML:
https://x.x.x.x/avail.cgi?show_log_entries=&hostgroup=all&timeperiod=last7days&smon=1&sday=1&syear=2008&shour=0&smin=0&ssec=0&emon=1&eday=24&eyear=2008&ehour=24&emin=0&esec=0&rpttimeperiod=&assumeinitialstates=yes&assumestateretention=yes&assumestatesduringnotrunning=yes&includesoftstates=no&initialassumedhoststate=0&initialassumedservicestate=0&backtrack=4

Nun möchte ich diese URL aufrufen und den Inhalt zurückgegeben bekommen.
Das ganze habe ich mir über file_get_contents gedacht.

PHP:
$url="https://x.x.x.x/avail.cgi?show_log_entries=&hostgroup=all&timeperiod=last7days&smon=1&sday=1&syear=2008&shour=0&smin=0&ssec=0&emon=1&eday=24&eyear=2008&ehour=24&emin=0&esec=0&rpttimeperiod=&assumeinitialstates=yes&assumestateretention=yes&assumestatesduringnotrunning=yes&includesoftstates=no&initialassumedhoststate=0&initialassumedservicestate=0&backtrack=4";

$seite = file_get_contents($url);
$seite2=strstr($seite, "All Hostgroups");

$tabellen_anfang=strpos($seite2, '<table');
$tabellen_ende=strpos($seite2, '</table>') +8;

echo substr($seite2, $tabellen_anfang, $tabelln_ende-$tabellen_anfang);

Nun wird aber nichts ausgegeben. Warum? Kann es sein dass diese Funktion keine CGI-Scripte unterstützt?
 
Zuletzt bearbeitet:
Dann würde dir das die Funktion schon sagen. Aber hast du schonmal was von debugging gehört? Ein einfaches var_dump reicht und du bist klüger...

Der fehler leigt bestimmt an dem strstr. Wenn da der String nicht gefunden wird bekommst du false zurück.
 
Ich bin immer noch nicht weiter und es eilt so langsam. Hat keiner eine Idee, wie ich das Script aufrufen und die Rückgabewerte mit PHP wieder verarbeiten kann?

Ich habe nun folgendes:
PHP:
$liste=shell_exec("wget  --http-user=snag-view --http-password=snag -k -p -E ".$alle_hostsgroups);
var_dump($liste);

Dies erstellt allerdings nur die HTML-Seite und legt diese auf dem Server ab (im Ordner wo das PHP-Script läuft!
Wer kann mir helfen?
 
Hallo

Was ist denn der Inhalt der Variablen $seite, nachdem du die URL gelesen hast? Steht da was drin?

Zu file_get_contents steht hier folgendes:
Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben.
Also nachschauen, ob das möglich ist. Ein phpinfo sollte das anzeigen.