Clemens: [und PHP] HTTP-Request mit Login/PW -> Statuscode herausfinden

Beitrag lesen

Hallo Leute!

Nachdem es nun schon wieder hell wird und ich mir die Nacht umsonst um die Ohren gehaut habe, muss ich euch - wieder mal - um Hilfe bitten, ich komme einfach nicht weiter:

Die Vorgeschichte zu meinem Problem findet ihr hier:
http://forum.de.selfhtml.org/archiv/2001/5/24373/#m126904

Kurz zusammengefaßt geht es darum, dass ich mittels eines HTTP-Request incl. Authorizations-Daten (für .htaccess/.htpasswd) den zurückgelieferten Status-Coode (200 OK oder 401 Unauthorisized) herausfinden möchte, um damit die Login/Passwort-Kombination zu prüfen.

Das Problem ist: Irgendwie fehlt mir da der Durchblick, jedenfalls habe ich mit den obigen Angaben und einiger anderen Seiten im Web folgenden Code zusammenbekommen:

<?php
$fp=fsockopen("www.domain.de",80);
fwrite($fp, "POST /geschuetzt/index.html HTTP/1.1\r\n");
fwrite($fp, "Authorization: Basic " .base64_encode("username:passwort"). "\r\n");
fwrite($fp, "Host: http://www.domain.de \r\n\r\n");
$status=fgets($fp,200);
fclose($fp);

echo $status;
?>

Allerdings gibt dieser Code nur folgendes aus:
HTTP/1.1 400 Bad Request

Es sollte aber 200 OK oder 401 Unauthorisized sein! Was ist da im Skript falsch?

Wenn man irgendwie den Status-Code herausbekommt, gibt es noch das Problem zum geschützten Verzeichnis mit bekanntem PW/Login weiterleiten. Aber wie mache ich das? Mit http://login:pw@www.domain.de/geschuetzt/ geht es nicht, da dies nicht RFC-konform ist (RFC 1738, Abschnitt 3.3: http://rfc.net/rfc1738.html). Wenn ich es ähnlich wie oben mache, merkt sich der Browser das vermutlich nicht, einfach in $PHP_AUTH_USER und $PHP_AUTH_PW schreiben bringt auch nichts, scheinbar übernimmt PHP nur die Daten vom Realm, nicht aber umgekehrt. Kann ich z.B. das realm per Skript füttern?

Ich habe überhaupt keine Ahnung wo ich ansetzen kann (vielleicht habe ich auch keine von HTTP1.1 :-)

Clemens