URL Aufrufen ohne erwartete Rückmeldung

Hallo Leute,

wenn ich meinen Sat-Receiver mit „http://192.168.178.39/web/powerstate?newstate=1“ aufrufe, wird dieser heruntergefahren.

Wie sende ich es aus PHP heraus, wenn ich keine „Rückmeldung“ erwarte?

http_get("http://192.168.178.39/web/powerstate?newstate=1");

führt leider zu einer Fehlermeldung, da keine Antwort zurückkommt… :confused:
http_get ist also offensichtlich falsch. Was funktioniert besser?

Joachim

file_get_contents

paresy

Hallo paresy,

vielen Dank für Deine Antwort.

Ich habe es nun so versucht:

$Datei = file_get_contents("http://192.168.178.39/web/powerstate?newstate=1", false, NULL, 0,0);

Ich bekomme nun noch eine „Warnung“:
Warning: file_get_contents(http://192.168.178.39/web/powerstate?newstate=1) [function.file-get-contents]: failed to open stream: HTTP request failed!
Der Receiver wird aber heruntergefahren. Kann man diese Warnung ignorieren oder kann man es soweit „verbessern“, dass diese verschwindet?

Joachim

setzte ein @ davor.

Hallo Rainer,

vielen Dank für Deine Antwort.

Ich kann es leider erst heute abend ausprobieren, aber was bewirkt ein „@“ vor der Zeile?
(Eine große Suchmaschine brachte zu „PHP @“ leider keine brauchbaren Ergebnisse oder handelt es sich hierbei um ein „IPS-Feature“?)

Joachim

Moin Joachim,

das @ vor einem Befehl unterdrückt eine Fehlermeldung. Ist also normal nicht das gelbe vom Ei, man sollte eher die Ursache des Fehlers suchen.

Hier mal der Link.

http://www.php.net/manual/de/language.operators.errorcontrol.php

Hallo Rainer,

abermals Dank, hat geklappt! :slight_smile:

Joachim

Hallo,
ich versuche eine Webcam mit folgendem Link über ips neu zu starten:

http://192.168.1.47/cgi-bin/hi3510/reboot.cgi

über Webbrowser funktioniert das auch.

Ich habe nun ein Script angelegt mit folgendem Inhalt:

$Datei = @file_get_contents(„http://192.168.1.47/cgi-bin/hi3510/reboot.cgi“, false, NULL, 0,0);

Grundsätzlich wird der reboot auch ausgeführt. Jedoch wird das Script eine gefühlte Ewigkeit ausgeführt bis Symcon dann vermutlich die Ausführung beendet. Wie kann ich die obige URL einfach aufrufen lassen ohne das auf irgend etwas noch gewartet wird?

Danke im voraus.
Klaus

Was ist denn hier Stand heute State of the art bzgl. des URL Aufrufs?

Bei CURL kann man einen Timeout angeben.