Lección 2
Headers, métodos y cuerpos
Mapea las opciones `-X`, `-H` y `-d` a un modelo claro de petición HTTP.
La mayoría de la conversión de cURL a código gira en torno a tres conceptos: método, headers y cuerpo.
Método
-X o --request establece el método HTTP:
curl -X PATCH https://api.example.com/users/42
Sin -X, cURL suele enviar GET. Con -d, cURL comúnmente envía POST.
Headers
-H o --header añade headers:
curl -H "Accept: application/json" -H "X-Request-Id: demo-1" https://api.example.com
Los headers son insensibles a mayúsculas según las reglas HTTP, pero el código de aplicación debe preservar los nombres con claridad para legibilidad.
Cuerpo
-d, --data, --data-raw y --data-binary adjuntan contenido del cuerpo:
curl -H "Content-Type: application/json" -d '{"name":"Ada"}' https://api.example.com/users
El cuerpo son solo bytes. El header Content-Type le indica al servidor cómo interpretar esos bytes.
Formulario y JSON son distintos
Estos no son equivalentes:
curl -d "name=Ada&role=admin" https://api.example.com/users
curl -H "Content-Type: application/json" -d '{"name":"Ada","role":"admin"}' https://api.example.com/users
El primero es estilo formulario. El segundo es JSON. Un conversor puede traducir ambos, pero tu aplicación aún necesita que el servidor espere el mismo tipo de contenido.