Henryk Plötz: [und PHP] HTTP-Request mit Login/PW -> Statuscode herausfinden

Beitrag lesen

Moin,

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

Lass dir mal den weiteren Inhalt ausgeben da steht üblicherweise genauer drin was falsch ist.
Drei Vermutungen:
1. Du bist auf einem System gelandet dass zwei Bytes in \n drin hat und ein Dreibytezeilenendezeichen ist dem Webserver wohl zu bunt. Versuch mal \x0d\x0a als Zeilenendezeichen.
2. HTTP/1.1 ist evt. nicht was du brauchst v.a. da der Server dann automatisch Keep-Alive machen will, versuch mal HTTP/1.0.
3. POST ist evt. nicht das was du willst (bin mir zwar nicht sicher, aber es könnte sein dass dann ein Body erwartet wird), versuch mal GET.

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.

Du kriegst die Username/Passwortdaten nicht in den Client ohne dass der User sie eingibt (hatten wir weiter unten beim Mediaplayer schonmal ähnlich).

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

Wenn du wirklich ein Formular für HTTP-Auth benutzen willst, läuft es darauf hinaus dass du die Daten auf dem Server abholst und an den User weiterreichst, am Userbrowser kannst du nichts verändern.
Dazu machst du die HTTP-Verbindung auf, sendest die Anfrage mit Passwort, liest die Antwort bis zur ersten Leerzeile und  leitest den Rest an den User weiter.
Wenn das auch über mehrere Seiten funktionieren soll, muss der Wrapper die Links in HTML-Dokumenten auch noch verwurschteln. Sowas ist im Ansatz im Archiv http://forum.de.selfhtml.org/archiv/2002/2/5425/#m30639, du musst allerdings noch den Teil der die Passwörter entgegennimmt (sofern erforderlich) schreiben.

--
Henryk Plötz
Grüße aus Berlin