Menu
Coddy logo textTech

Codificación de formularios

Lección 34 de 47 del curso Redes con la terminal de Coddy.

Cuando usas -d, curl añade un encabezado que describe el formato del cuerpo:

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

Ese nombre tan largo es el formato que los formularios HTML siempre han utilizado: pares key=value unidos por &. El servidor lee ese encabezado y sabe que debe dividir el cuerpo usando esos caracteres.

Lo que plantea la pregunta obvia: ¿qué ocurre si un valor contiene un & o un =? Tiene que estar escapado, escrito como un signo de porcentaje y dos dígitos hexadecimales. Un espacio se convierte en %20 o +, y un ampersand se convierte en %26.

--data-urlencode realiza ese escapado por ti, y deberías preferirlo para cualquier cosa que haya escrito una persona. Enviar entradas de usuario sin procesar mediante un simple -d es la razón por la que los campos se truncan misteriosamente en el primer ampersand.

challenge icon

Desafío

Difícil

Confirma el encabezado que curl elige por ti.

  1. Inicia el listener de captura en el puerto 9124
  2. Realiza un POST de a=1 con -d
  3. Imprime la línea Content-Type de req.txt

Salida esperada:

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

Ignora las mayúsculas y minúsculas y ancla al inicio de la línea.

Pruébalo tú mismo

Terminal
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Redes con la terminal

Practica por tu cuenta: Playground de Terminal