curl para principiantes: tu primer paso en el mundo de las peticiones HTTP
Publicado el 08.09.2025
¡Hola! Si te interesa aunque sea un poco la web, seguramente has oído hablar de curl.
Es una herramienta poderosa y versátil de línea de comandos para interactuar con servidores web. Se usa para enviar y recibir datos mediante varios protocolos: HTTP, FTP, SFTP, así como protocolos de correo.
Esta guía es su primer paso. Nos centraremos en lo básico, que le ayudará a entender cómo funciona curl y cómo usarlo para tareas cotidianas.
¿Qué es curl y para qué sirve?
curl es la abreviatura de Client URL. Imagínelo como su navegador, pero sin interfaz gráfica. En lugar de abrir una página web, puede “pedir” a curl que haga una solicitud y le muestre qué respondió el servidor.
curl se utiliza a menudo para:
- probar APIs;
- descargar archivos;
- comprobar la disponibilidad de sitios;
- enviar datos a servidores;
- interactuar con servidores de correo.
Sintaxis básica
La forma más sencilla de usar curl es indicar la URL. Por defecto se realiza una solicitud GET, y la respuesta del servidor se muestra directamente en la terminal:
curl https://example.com
Este comando descargará el código HTML de la página principal de example.com y lo mostrará en la consola.
Las opciones más útiles para principiantes
1. Salida detallada (-v o --verbose)
Para ver los encabezados de la solicitud y la respuesta, use:
curl -v https://example.com
Verá:
- información sobre la conexión;
- encabezados de la solicitud (
>); - encabezados de la respuesta (
<).
2. Guardar archivo (-O y -o)
# guardar el archivo con el nombre original
curl -O https://example.com/file.zip
# guardar con otro nombre
curl -o new_name.zip https://example.com/file.zip
3. Seguimiento de redirecciones (-L o --location)
Por defecto curl no sigue redirecciones. Para habilitarlo:
curl -L http://example.com
Envío de datos: solicitudes POST
Las solicitudes GET obtienen datos, y las POST los envían.
Para enviar datos use -d:
curl -X POST -d "name=mike&age=30" https://example.com/api/register
curl añadirá automáticamente el encabezado Content-Type: application/x-www-form-urlencoded.
Trabajo con protocolos de correo
curl soporta SMTP, POP3 e IMAP. Es útil para pruebas o automatización.
Enviar un correo (SMTP)
curl -v --url "smtp://smtp.example.com:587" \
--ssl-reqd \
--mail-from "sender@example.com" \
--mail-rcpt "recipient@example.com" \
--upload-file email.txt \
--user "username:password"
--ssl-reqd— requiere TLS.--mail-from/--mail-rcpt— remitente y destinatario.--upload-file— cuerpo del correo.
Ver correos (IMAP)
curl -v --url "imaps://imap.example.com" \
--user "username:password" \
-X "LIST \"\" \"INBOX\""
Esta es una solicitud para listar las carpetas en el servidor.
Conclusión
curl es una herramienta que debería estar en el arsenal de todo desarrollador e ingeniero DevOps.
Hemos visto los escenarios básicos: solicitudes GET y POST, descarga de archivos, trabajo con redirecciones e incluso envío de correos.
Comience con estos ejemplos, y pronto curl será su fiel ayudante al trabajar con la web y las redes.