Sys_GetURLContent - Webseite mit Benutzer/Pass abfragen

Hallo,

ich würde gerne mittels Sys_GetURLContent mir ein Bild von einer Webseite „angeln“.

So funktioniert es:


$fileUri = http://192.168.11.91/record/current.jpg
$imageContent = @Sys_GetURLContent($fileUri);

So funktioniert es nicht:


$fileUri = http://admin:admin@192.168.11.91/record/current.jpg
$imageContent = @Sys_GetURLContent($fileUri);

Ist die Funktion „Sys_GetURLContent“ dafür überhaupt ausgelegt?

Grüße

primär hast du erstmal ein Syntax-Problem:


$fileUri = 'http://admin:admin@192.168.11.91/record/current.jpg';

und wenn man ein „@“ vor die Befehle setzt, bekommt man keine Fehlermeldungen. Ist immer doof bei ner Fehlersuche

Ja stimmt, im Skript ist es richtig geschrieben :wink:

Erhalte aber auch so keinen Fehler:

echo Sys_GetURLContent("http://admin:admin@192.168.11.91/record/current.jpg");

prima, das macht immer richtig Spass, sowas zu supporten.:mad:

icherhalte hiermit fast die originale Webseite in der HTML-Scriptausgabe:


echo Sys_GetURLContent("http://www.wettergefahren.de/dyn/app/ws/html/reports/OHK_warning_de.html");

es geht darum, eine über HTACCESS geschützte Seite abzufragen…

Mit dem Code an sich habe ich keine Problem, daher verzeiht mir den Syntaxfehler am Anfang.

Es geht rein um die Funktion!

Hi,

das wird Dir wohl nur Paresy zu 100% beantworten können, der hat ja die Funktion gebaut :wink:

Die Doku sagt leider nicht viel aus …

Hast Du es schonmal mit file_get_contents probiert, denn

Durch eine Inkompatibilität von PHP 5.4 und OpenSSL 1.0 können über die file_get_contents (u.ä.) Funktion keine Anfragen per SSL gestellt werden. Die IP-Symcon interne Funktion Sys_GetURLContent bietet dort passenden Ersatz.

Sys_GetURLContent wurde soweit ich das richtig lese, als Workaround für SSL-Probleme programmiert und da Du kein SSL verwendest, sollte auch file_get_contents funktionieren …

Wobei ich mich gerade Frage, kein SSL und Passwörter im Klartext über die Leitung - da sträubt sich mein Security-Haar :wink:

Das hab ich auf die schnelle bei PHP.net gefunden …

$opts = array('http' =>
  array(
    'method'  => 'POST',
    'header'  => "Content-Type: text/xml
".
      "Authorization: Basic ".base64_encode("$https_user:$https_password")."
",
    'content' => $body,
    'timeout' => 60
  )
);
                        
$context  = stream_context_create($opts);
$url = 'https://'.$https_server;
$result = file_get_contents($url, false, $context, -1, 40000);

Grüße

Andreas

Danke werde ich mal probieren und mit Spannung abwarten was paresy antwortet.

Ziel ist es, das Livebild einer Kamera als JPG in mein Media VErzeichnis zu bekommen…

Sys_GetURLContentEx: IP-Symcon :: Automatisierungssoftware

paresy

Danke, mahmal ist es aber auch zu einfach :wink: