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-urlencodedDieser 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.
Aufgabe
SchwerBestätige den Header, den curl für dich auswählt.
- Starte den Listener zur Aufzeichnung an Port 9124
- Führe mit
-deinen POST vona=1aus - Gib die Zeile Content-Type aus
req.txtaus
Erwartete Ausgabe:
Content-Type: application/x-www-form-urlencodedBerücksichtige Groß- und Kleinschreibung nicht und verankere die Übereinstimmung am Zeilenanfang.
Probier es 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
4Ist es erreichbar?
ICMP und pingPing-Ausgabe lesenWenn Ping lügtAbgelehnt oder ZeitüberschreitungRückblick: Erreichbarkeit7Daten senden
POST mit -dWas -d tatsächlich sendetFormular-KodierungJSON sendenPUT und DELETERückblick: Daten schreiben2Namen und DNS
Warum Namen existierenDie Hosts-DateiEinen Namen nachschlagenRecord-TypenRückblick: NamenÜbe selbstständig: Terminal-Playground