Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Problem mit Sonderzeichen bei HTTP Post [ICS]

  Alt 14. Dez 2005, 09:35
Ich habe mir dein Projekt herunter geladen und mir fällt auf, dass du die Funktion UrlEncode() gar nicht verwendest. Die Routine, wenn du sie denn verwenden würdest weiß gar nichts über den Aufbau eines URI und darf nur zum Kodieren von substrings verwendet werden. Dabei kodiert sie nach der Hau-drauf-Methode alles was sich nicht wehrt - insbesondere alle zugelassenen Sonderzeichen. Das ist nur als Hinweis, keinesfalls die Erklärung für das von dir beobachtete Phänomen.

Laut RFC3986 sind square brackets RESERVERD und müssen durch das percent encoding - hast du richtig gemacht und ich habe gestern die Grammatik falsch gelesen (square brackets gehören nicht zu den zulässigen sub-delims).

Ich habe zuerst mit deinem URL und GET die Fahrplanauskunft gequält - da spielt die Bahn nicht mit. Dann habe ich selbst einen Fahrplan von "Hemsbach" nach "Stuttgart" angefordert. Ich werde dann auf die fehlende Eindeutigkeit des Abfahrtbahnhofs hingewiesen und erhalte "Hemsbach [DB]" als Vorauswahl. Ich habe den Quelltext der Seite lokal gespeichert, die form action auf meinen eigenen Server umgeleitet und die POST Variablen mit PHP (5.1.1) analysieren lassen. Ergebnis ist

Code:
_POST["from"] = "#1"
Ich hätte statt "#1" den Wert "Hemsbach [DB]" erwartet. Jetzt muss ich aufgrund meiner nur rudimentären PHP-Kenntnisse ergründen, was ich davon halten soll - falls nicht ein PHP-Kenner mitliest.

Grüße vom marabu
  Mit Zitat antworten Zitat