Der Martin: link parsen

Beitrag lesen

Hallo Hans,

die Übergabe von Benutzername und Password als Teil der URL ist zwar bei einigen Protokollen (z.B. FTP) üblich, bei HTTP aber ausdrücklich *nicht*.
Ich hab mich da wohl nicht ganz eindeutig ausgedrückt, wenn im Linkquelltext user:password vorhanden sind, werte ich diese korrekt aus und füge bei meinen GET Request das Headerfeld "Authorization" mit base64 codierter user:passwort Kombination hinzu.

ah, verstehe. Das ging aus deiner Beschreibung tatsächlich nicht eindeutig hervor, ist aber genau das, was ich mit "aus Kulanz" meinte - und dass ich diese Funktion, wenn sie sowieso schon existiert, auch drinlassen würde.

Ja, wobei das '?' aus der Sicht des Clients auch keine besondere Rolle spielt.
Bei dieser Frage ging es vor allem darum wie ich nun sinnvolle und auch zulässige Dateinamen erzeuge um die Daten auf der Festplatte zu speichern.

Ach daher weht der Wind. ;-)
Dann kommt aber ein weiteres Problem ins Spiel. Viele Zeichen, die in URLs verwendet werden, sind in Dateinamen nicht erlaubt, wobei die Menge der erlaubten bzw. nicht erlaubten Zeichen sogar noch je nach Dateisystem unterschiedlich ist. Zeichen wie etwa das Fragezeichen oder der Stern '*' sind aber in keinem mir bekannten Dateisystem zulässig, also musst du sie durch irgendwas anderes ersetzen. Den Slash '/' wirst du vermutlich auf eine Verzeichnisstruktur abbilden wollen. Auch '=', '+', ':' sowie '<' und '>' sind oft verboten.
Du könntest natürlich alle potentiell kritischen Zeichen durch eine Escape-Sequenz ersetzen. Ich weiß nicht, ob das Prozent-Zeichen überall erlaubt ist; wenn ja, könntest du für problemträchtige Zeichen generell wieder ein URL-Encoding anwenden.

Also für "#" ist das jetzt klar, ich muss Links die auf verschiedene Textmarken ein und desselben Dokuments verweisen nur einmal herunterladen.

Genau.

Anderst siehe es bei Links aus die Parameter mit "?" übergeben, da der Inhalt ja erst auf dem Server erzeugt wird. Hier muss ich ggf. mehrere Versionen des des Dokuments speichern.

Ja, wobei sich das automatisch ergibt, wenn du z.B. Fragezeichen und '=' durch andere, unkritische Zeichen oder Zeichenkombinationen ersetzt.

Ciao,
 Martin

--
Dürfen Finanzbeamte eigentlich ihren Kaffee schwarz trinken? - Ich glaube ja. Aber sie dürfen ihre Tasse nicht absetzen.
  (gehört auf SWR3)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(