Menu
Coddy logo textTech

Formular-Kodierung

Lektion 34 von 47 im Kurs Netzwerken mit dem Terminal von Coddy.

Wenn du -d verwendest, fügt curl einen Header hinzu, der das Format des Bodys beschreibt:

Content-Type: application/x-www-form-urlencoded

Dieser lange Name bezeichnet das Format, das HTML-Formulare schon immer verwendet haben: durch & verbundene key=value-Paare. Der Server liest diesen Header und weiß, dass er den Body anhand dieser Zeichen aufteilen muss.

Das wirft die offensichtliche Frage auf: Was ist, wenn ein Wert ein & oder ein = enthält? Er muss escaped werden, also als Prozentzeichen und zwei Hexadezimalziffern geschrieben werden. Ein Leerzeichen wird zu %20 oder +, ein Et-Zeichen wird zu %26.

--data-urlencode übernimmt dieses Escaping für dich, und du solltest es allem vorziehen, was ein Mensch eingegeben hat. Rohe Benutzereingaben einfach mit -d zu senden, führt dazu, dass Felder auf mysteriöse Weise beim ersten Et-Zeichen abgeschnitten werden.

challenge icon

Aufgabe

Schwer

Bestätige den Header, den curl für dich auswählt.

  1. Starte den Listener zur Aufzeichnung an Port 9124
  2. Führe mit -d einen POST von a=1 aus
  3. Gib die Zeile Content-Type aus req.txt aus

Erwartete Ausgabe:

Content-Type: application/x-www-form-urlencoded

Berücksichtige Groß- und Kleinschreibung nicht und verankere die Übereinstimmung am Zeilenanfang.

Probier es selbst

Terminal
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Netzwerken mit dem Terminal

Übe selbstständig: Terminal-Playground