php-curl - Zugriff auf die url mit http-Authentifizierung (brauche Hilfe)

Ich habe ein problem bei der HTTP-Authentifizierung. Ich konnte nicht die Inhalte dieser url, weil es müssen http-auth.

Code:

<?php

$url = "http://www.abcdefg.com/12345/";

$username = 'username';
$password = 'password';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");

$out = curl_exec($ch);

print "error:" . curl_error($ch) . "<br />";
print "output:" . $out . "<br /><br />";

curl_close($ch);

?>

Das Problem ist:
Anstatt zu zeigen, den wirklichen Inhalt, es zeigt "302 Found, The document has moved here."

Habe ich versucht "http://username:[email protected]/12345/", funktioniert nicht.

Beim Zugriff auf diese url(1), ein popup-Fenster fragt nach Benutzernamen und Passwort. aber die popup-Fenster von einer anderen url(2)(a-sso-Authentifizierung-server). wenn übergeben Sie die Authentifizierung. dann wird es wieder zu url(1) wieder. zu dieser Zeit, ich kann auf den Inhalt dieser url(1).

Benutze ich firebug erhalten Sie die folgende Meldung durch Zugriff auf die url direkt aus dem browser:

Schritt 1

URL: GET http://www.abcdefg.com/12345/
Status: 302 Found
Protocol: http

Schritt 2

URL: GET https://www.ssoauth.com/obrareq.cgi?wh=xxx wu=xxx wo=xxx rh=http://www.abcdefg.com ru=/12345/
Status: 302 Redirect
Protocol: https

Schritt 3

URL: GET http://www.abcdefg.com/obrar.cgi?cookie=xxxxxxxxxxxxxxx
Status: 302 Found
Protocol: http

Schritt 4

URL: GET http://www.abcdefg.com/12345/
Status: 200 OK
Protocol: http

Dann den Inhalt anzeigen...

Ist dies etwas zu tun mit dem cookie?
Wie kann ich mit php curl, um den Inhalt Lesen?

InformationsquelleAutor Strong | 2012-05-29
Schreibe einen Kommentar