dedlfix: http header mit php auslesen

Beitrag lesen

Tach!

Formular 1: Webadresse eintippen: zum Bsp.: http://www.ard.de
Fehler: Der abschließende Slash fehlt.

Die URL ist zwar syntaktisch nicht vollständig, aber in diesem Fall ist das egal. Sie wird ja nicht verwendet, um relative Links zu vervollständigen. Für den Request wird sie sowieso in ihre Einzelteile zerlegt werden. Da HTTP-Requests ohne Pfad nicht gültig sind, beziehungsweise immer einen absoluten Pfad, also mit / vorndran benötigt wird, und damit mindestens ein
  GET / HTTP/1.1
gesendet werden muss, muss und kann auch problemlos sich derjenige um eine Fehlerkorrektur kümmern, der den HTTP-Request absetzt, hier also die Funktion get_headers(), oder was auch immer sie für die Ausführung aufruft.

Hier animierst du die Nutzer, die URL "ordentlich" mit dem Präfix "http://" einzugeben. Gut, warum nicht.
Und hier hängst du nochmal ein "http://" davor, ohne zu prüfen, ob das in der Eingabe nicht schon enthalten ist. Letztendlich versuchst du womöglich, die Response Header von http;//http://example.org/ zu lesen, was natürlich fehlschlagen wird.
vielen Dank!!! Genau das wars. Manchmal sieht man den Wald vor lauter Bäumen nicht. rrrsss

Deswegen ist die erste Amtshandlung bei Fehlern ja auch, sich die Inhalte der beteiligten Variablen anzuschauen, damit man solche Unstimmigkeiten gleich präsentiert bekommt und erkenenn kann. Wild rumraten hilft meist wenig.

Das mit dem Slash ist schon heftig. Ich werde mal versuchen, dass die Syntaxe beim Eintippen überprüft wird.

Du kannst das nicht wirklich überprüfen. Bei URLs ohne Pfadangabe kümmert sich zwangsläufig der HTTP-Request-Ersteller drum. Da könntest du einen dransetzen, aber da ist es nicht notwendig, weil es sowieso unbedingt korrigiert werden muss. Hast du allerdings einen nichtleeren Pfad, woher soll dann das Script wissen, ob der Slash nun drangehört oder nicht? Es gibt dazu keine Regel, man kann das nicht aus der URL ableiten. Hier kann nur der Server einen Redirekt zu einem Pfad mit / hintendran schicken, wenn er feststellt, dass ohne diesen Slash relative Links in der ausgelieferten Ressource zu falsch aufgelösten absoluten Pfaden führen würden.

dedlfix.