¿Qué es el comando cURL?
cURL es una herramienta de línea de comandos que se utiliza para transferir datos desde URL. También es compatible con una gran variedad de protocolos de red, ayuda a los desarrolladores a probar y automatizar el intercambio de información y a depurar conexiones de red. cURL es una herramienta potente que pueden usar tanto un desarrollador como un administrador de sistemas, ya sea para transferir archivos, hacer una llamada a una interfaz HTTP en la línea de comandos o comprobar que su respuesta cumple los requisitos.
¿Qué es cURL?
cURL significa «Client URL». Es una herramienta y una biblioteca de código abierto que se puede usar para transferir datos entre un cliente y un servidor. Está construida sobre la integración de libcurl y es compatible con la mayoría de los protocolos, como HTTP, HTTPS, FTP, etc. Los desarrolladores la utilizan en scripts automatizados para automatizar transferencias de información a URL, gestionar la autenticación y realizar consultas rápidas a servidores. Como puede ejecutarse directamente desde el terminal, cURL resulta útil en pruebas de API y tests automáticos.
¿Cómo funciona cURL?
cURL funciona enviando una solicitud desde su terminal a un servidor e imprimiéndole la respuesta del servidor. Cuando ejecuta un comando, cURL abre una conexión con la URL, envía el método HTTP elegido y las cabeceras o los datos que haya, y espera la respuesta. Después devuelve la respuesta — una página web, un resultado de API o un archivo — directamente en la línea de comandos o la guarda en disco.
Como se ejecuta como un único comando, cURL es fácil de incorporar en scripts, tareas programadas y pruebas automatizadas. No necesita un navegador ni un cliente gráfico para enviar una solicitud, y por eso los desarrolladores lo utilizan para probar API, descargar archivos y comprobar cómo responde un servidor.
¿Qué hace el comando cURL?
Una solicitud cURL transfiere u obtiene información hacia una URL concreta. Puede hacer solicitudes de páginas web, solicitudes HTTP desde la línea de comandos, subidas de archivos multiparte o pruebas de endpoints de API. Algunos desarrolladores ejecutan una solicitud cURL para comprobar la respuesta de un servidor a la información enviada mediante distintos comandos HTTP como GET, POST, PUT o DELETE, y para realizar la verificación del handshake SSL en conexiones seguras.
Sintaxis del comando cURL
La sintaxis básica de un comando cURL sigue un patrón sencillo:
curl [options] [URL]
La palabra clave curl inicia el comando, las opciones (como -i o -d) controlan el comportamiento de la solicitud y la URL es la dirección a la que quiere llegar. Las opciones y la URL se pueden combinar en casi cualquier orden, y puede usar varias opciones en una misma solicitud. Si ejecuta curl con una URL y sin opciones, cURL envía una solicitud GET simple e imprime el cuerpo de la respuesta.
Comandos y opciones habituales de cURL
Las opciones de cURL (también llamadas flags o parámetros) cambian cómo se envía una solicitud y qué devuelve cURL. Se añaden después de la palabra clave curl y antes de la URL. A continuación están las opciones que más utilizan los desarrolladores.
|
Opción |
Qué hace |
Ejemplo |
|---|---|---|
|
|
Incluye las cabeceras de la respuesta en la salida, junto con el cuerpo |
|
|
|
Envía datos en el cuerpo de la solicitud (convierte la solicitud en un POST de forma predeterminada) |
|
|
|
Define el método HTTP, como GET, POST, PUT o DELETE |
|
|
|
Añade una cabecera personalizada a la solicitud |
|
|
|
Guarda la salida en un archivo con el nombre que elija |
|
|
|
Guarda la salida con el propio nombre del archivo remoto |
|
|
|
Sigue las redirecciones hasta la URL final |
|
|
|
Pasa un nombre de usuario y una contraseña para la autenticación |
|
|
|
Se ejecuta en modo silencioso y oculta la salida de progreso y de errores |
|
|
|
Activa el modo detallado para depurar la solicitud y la respuesta completas |
|
|
|
Permite conexiones no seguras al omitir la comprobación del certificado SSL |
|
|
|
Falla en silencio ante errores del servidor en lugar de imprimir la página de error |
|
Para ver la lista completa de opciones en cualquier momento, ejecute curl -h (o curl --help) en el terminal.
¿Qué hace curl -i?
La opción -i indica a cURL que incluya las cabeceras de la respuesta en la salida junto con el cuerpo. En lugar de devolver solo la página o la respuesta de la API, cURL imprime la línea de estado HTTP, cabeceras como Content-Type y Set-Cookie, y después el cuerpo. Resulta útil cuando necesita comprobar qué devuelve realmente un servidor, depurar una API o confirmar un código de estado.
curl -i https://api.example.com/data
Use -I (en mayúscula) si solo quiere las cabeceras y no el cuerpo.
Uso de cURL
cURL se puede descargar gratis para enviar comandos en la CLI. Esta herramienta facilita las pruebas, la transferencia de información y la automatización de la comunicación con el servidor. cURL también puede funcionar a través de servidores proxy enrutando las solicitudes mediante direcciones proxy indicadas, lo que permite conexiones seguras y autenticación al acceder a redes restringidas.
Ejemplos de comandos cURL
Estos son comandos cURL habituales que puede copiar y adaptar:
|
Tarea |
Comando |
|---|---|
|
Enviar una solicitud GET básica |
|
|
Enviar una solicitud POST con datos |
|
|
Ver las cabeceras y el cuerpo de la respuesta |
|
|
Guardar la respuesta en un archivo |
|
|
Seguir las redirecciones |
|
|
Enviar una solicitud con autenticación |
|
|
Depurar una solicitud en detalle |
|
También puede enviar solicitudes GET con cURL o enrutar cURL a través de un proxy cuando necesite probar desde una ubicación o una IP diferente.
cURL frente a wget
En resumen: use cURL cuando necesite interactuar con una API o inspeccionar una respuesta, y wget cuando su objetivo principal sea descargar archivos de forma masiva.
Tanto cURL como wget son herramientas de línea de comandos para transferir datos, pero cubren necesidades algo distintas. cURL está pensado para enviar solicitudes y leer respuestas, lo que lo convierte en la opción preferida para probar API, usar cabeceras personalizadas y gestionar la autenticación. wget está pensado para descargar archivos y puede seguir enlaces para descargar sitios web enteros, lo que lo hace más potente en descargas recursivas.
Preguntas frecuentes
¿Qué significa cURL?
cURL significa «Client URL». Es una herramienta de línea de comandos y una biblioteca de código abierto (libcurl) para transferir datos hacia y desde una URL.
¿Para qué se utiliza el comando cURL?
Se utiliza para enviar y recibir datos a través de la red — probar API, descargar archivos, enviar solicitudes HTTP, comprobar las respuestas del servidor y automatizar estas tareas dentro de scripts.
¿Es gratuito el uso de cURL?
Sí. cURL es gratuito y de código abierto, y viene preinstalado en la mayoría de los sistemas macOS y Linux y en las versiones modernas de Windows.
¿Qué hace curl -k?
La opción -k permite que cURL se conecte a un servidor aunque su certificado SSL no se pueda verificar. Resulta práctica para pruebas locales, pero conviene evitarla en producción porque omite una comprobación de seguridad.
¿Qué hace curl -s?
La opción -s (silent) oculta el indicador de progreso y los mensajes de error, de modo que cURL solo imprime la respuesta. Se usa a menudo en scripts para mantener la salida limpia.
¿Cómo se ejecuta un comando cURL?
Abra un terminal (Símbolo del sistema o PowerShell en Windows, Terminal en macOS y Linux), escriba su comando curl y pulse Intro. cURL imprime el resultado directamente en el terminal.
