Menu
Coddy logo textTech

Encodage de formulaire

Leçon 34 sur 47 du cours Réseautage avec le terminal de Coddy.

Lorsque vous utilisez -d, curl ajoute un en-tête décrivant le format du corps :

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

Ce nom long correspond au format que les formulaires HTML ont toujours utilisé : des paires key=value reliées par &. Le serveur lit cet en-tête et sait qu'il doit diviser le corps au niveau de ces caractères.

Ce qui soulève la question évidente : que se passe-t-il si une valeur contient un & ou un = ? Elle doit être échappée, c'est-à-dire écrite avec un signe de pourcentage suivi de deux chiffres hexadécimaux. Un espace devient %20 ou +, et une esperluette devient %26.

--data-urlencode effectue cet échappement pour vous, et vous devriez le préférer pour toute donnée saisie par un humain. Envoyer des données utilisateur brutes avec -d est la raison pour laquelle les champs sont mystérieusement tronqués à la première esperluette.

challenge icon

Défi

Difficile

Confirmez l’en-tête que curl choisit pour vous.

  1. Démarrez l’écouteur de capture sur le port 9124
  2. Envoyez a=1 en POST avec -d
  3. Affichez la ligne Content-Type de req.txt

Résultat attendu :

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

Faites une correspondance insensible à la casse et ancrez-la au début de la ligne.

Essayez vous-même

Terminal
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Réseautage avec le terminal

Entraînez-vous par vous-même : Playground Terminal