Webseiten mit Username und Passwort aufrufen

12/11/2015 - 09:17 von Klaus Ketelaer | Report spam
Hallo zusammen,

ich lese die Webseite meines Wetter-Servers einfach über die Urls
http://username:password@home.domainname.de:8081/ipwe.cgi
oder
http://username:password@192.168.92.100/ipwe.cgi
aus. (Von extern und intern)

Das geht z.B. in Perl problemlos mit $text = get($url).
Auch in C++ oder Visual Basic gibt es keinerlei Probleme.

Wenn ich nun versuche, das Gleiche in PHP zu realisieren, erhalte ich,
egal was ich probiere, immer nur den Fehler

failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized in

Egal ob ich es einfach mit file_get_contents($url) versuche oder die
komplizierte Variante verwende:

$auth = base64_encode("$user:$pass");
$header = array("Authorization: Basic $auth");
$options = array('http' => array('method' => 'GET','header' => $header));
$context = stream_context_create($options);
echo file_get_contents("http://$url", false, $context);

Ich erhalte immer nur "401 Unauthorized", egal ob ich intern oder extern
auf das Geràt zugreife.

Was mache ich da falsch?

Gruß Klaus
 

Lesen sie die antworten

#1 Klaus Ketelaer
12/11/2015 - 10:15 | Warnen spam
Am 12.11.2015 um 09:17 schrieb Klaus Ketelaer:
[...]

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $user.":".$pass);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

echo = curl_exec($ch);

curl_close($ch);


Der Code funktioniert auch problemlos.

Warum geht es denn mit file_get_contents nicht???

Gruß Klaus

Ähnliche fragen