Cómo enviar encabezados HTTP con cURL: una guía completa con ejemplos
Domine el envío y la recepción de encabezados HTTP con cURL con esta guía completa. Explore ejemplos, encabezados personalizados y consejos para la resolución de problemas.
En este artículo 11 secciones
- Requisitos previos
- Sintaxis básica de rizos
- Ejemplo 1: envío de una solicitud GET con encabezados personalizados
- Ejemplo 2: envío de una solicitud POST con datos JSON
- Ejemplo 3: configuración de varios encabezados
- Ejemplo 4: envío de cookies
- Ejemplo 5: seguir redirecciones
- Ejemplo 6: envío de agente de usuario personalizado
- Ejemplo 7: envío de encabezados de solicitud sin datos
- Ejemplo 8: envío de autenticación básica
- Ejemplo 9: Depuración y modo detallado
Enviar encabezados HTTP con cURL es una habilidad fundamental para cualquiera que trabaje con API o servicios web. Los encabezados HTTP transmiten información esencial sobre su solicitud, como el tipo de contenido, la autorización y más. cURL, una poderosa herramienta de línea de comandos para realizar solicitudes HTTP, le permite personalizar y enviar estos encabezados sin esfuerzo. En esta guía, lo guiaremos a través del proceso de envío de encabezados HTTP usando cURL, completo con una variedad de ejemplos prácticos.

Requisitos previos#
Antes de profundizar en los ejemplos, asegúrese de tener cURL instalado en su sistema. Puedes comprobar si está instalado ejecutando:
curl --version
Si no está instalado, puedes descargarlo desde el sitio web oficial de cURL.
Sintaxis básica de rizos#
La sintaxis básica para enviar una solicitud HTTP con cURL es:
curl [options] [URL]
Para incluir encabezados HTTP en su solicitud, puede utilizar la opción -H o –header seguida de la información del encabezado.
Ejemplo 1: envío de una solicitud GET con encabezados personalizados#
Comencemos con una solicitud GET simple a una API hipotética, incluido un encabezado personalizado. Suponga que desea incluir un encabezado de “Autorización” con su clave API.
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.example.com/resource
Reemplace YOUR_API_KEY con su clave API real.
Ejemplo 2: envío de una solicitud POST con datos JSON#
En este ejemplo, enviaremos una solicitud POST con una carga útil JSON y un encabezado de tipo de contenido personalizado.
curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "email": "[email protected]"}' https://api.example.com/users
Este comando especifica el método de solicitud como POST (-X POST), establece el tipo de contenido en JSON (-H “Tipo de contenido: aplicación/json”) e incluye los datos JSON con -d.
Ejemplo 3: configuración de varios encabezados#
Puede incluir varios encabezados en una sola solicitud cURL. Aquí, enviamos una solicitud con encabezados “Autorización” y “Agente de usuario”.
curl -H "Authorization: Bearer YOUR_API_KEY" -H "User-Agent: MyClient/1.0" https://api.example.com/resource
Ejemplo 4: envío de cookies#
Para enviar cookies con su solicitud, utilice la opción -b o –cookie seguida de los datos de la cookie.
curl -b "session=12345; preferences=darkmode" https://api.example.com/dashboard
Este ejemplo envía dos cookies: “sesión” y “preferencias”.
Ejemplo 5: seguir redirecciones#
De forma predeterminada, cURL no sigue las redirecciones HTTP. Para habilitar el seguimiento de redirecciones, utilice la opción -L o –ubicación.
curl -L https://example.com
Este comando seguirá cualquier redireccionamiento y mostrará el contenido de la página final.
Ejemplo 6: envío de agente de usuario personalizado#
Puede configurar un encabezado User-Agent personalizado para identificar su solicitud.
curl -H "User-Agent: MyCustomApp/1.0" https://api.example.com/resource
Los encabezados de agente de usuario personalizados son útiles al interactuar con API que requieren agentes de usuario específicos.
Ejemplo 7: envío de encabezados de solicitud sin datos#
Si necesita enviar un encabezado sin un cuerpo de solicitud, puede usar la opción -I o –head.
curl -I https://api.example.com/resource
Este comando envía una solicitud HEAD, que recupera solo los encabezados y no el contenido real.
Ejemplo 8: envío de autenticación básica#
Para enviar credenciales de autenticación básica HTTP, puede incluir un encabezado de “Autorización” con su nombre de usuario y contraseña codificados en Base64.
curl -H "Authorization: Basic BASE64_ENCODED_CREDENTIALS" https://api.example.com/resource
Reemplace BASE64_ENCODED_CREDENTIALS con su nombre de usuario y contraseña codificados en Base64 (por ejemplo, nombre de usuario:contraseña).
Ejemplo 9: Depuración y modo detallado#
Al solucionar problemas o inspeccionar la solicitud y respuesta HTTP, puede utilizar el modo detallado de cURL con la opción -v o –verbose.
curl -v https://api.example.com/resource
Esto mostrará información detallada sobre la solicitud y la respuesta, incluidos los encabezados.
Enviar encabezados HTTP con cURL es una habilidad crucial para trabajar con servicios web y API. Con los ejemplos proporcionados en esta guía, puede personalizar sus solicitudes, gestionar la autenticación, enviar cookies y más. A medida que se familiarice con las capacidades de cURL, estará bien equipado para interactuar con varios servicios web de manera efectiva.
