cURL es una herramienta open source que se puede utilizar en línea de comandos o scripts para transferir datos a través de distintos protocolos de red como pueden ser HTTP, FTP o IMAP. Dentro del mundo del desarrollo web lo habitual es utilizarla para trabajar mediante HTTPS permitiendo conectividad entre diferentes entornos.
Dada su versatilidad se puede utilizar para enviar y recibir archivos, ejecutar scripts, comprobar la conectividad a un servidor o enviar consultas HTTP que contengan datos, por ejemplo. Las aplicaciones pueden ser tan variadas como se quiera.
El modo de empleo es indicar primero el comando, a continuación añadiríamos las opciones en su caso y por último la URL a la que haremos la consulta. Quedaría del siguiente modo: curl [OPCIONES] <URL>
Si por ejemplo quisiéramos realizar una solicitud GET con cURL podríamos hacerlo usando el comando curl
del siguiente modo:
curl https://www.mi-web.es
Para enviar datos con POST en cambio, podemos incluir la opción -d
o --data
:
curl -d 'nombre=valor' https://www.mi-web.es
Esta herramienta puede ser utilizada por la mayoría de los lenguajes de programación que permitan usar líneas de comandos como pueden ser PHP o Python. Aunque su sintaxis será siempre la misma, la integración de cURL en cada lenguaje atenderá a los requisitos de éste.
Opciones del comando cURL
Una vez visto qué es y cómo se utiliza, a continuación listaré los parámetros más comunes que he extraído directamente de la ayuda de cURL a través de la consola de comandos. Se trata de un listado muy reducido pero de gran utilidad. Verás que estas opciones pueden llamarse con un modo abreviado o con uno largo.
-d
, --data
: enviar datos HTTP POST.-f
, --fail
: fallar rápidamente sin salida en errores HTTP.-h
, --help
: obtener ayuda para comandos.-i
, --include
: incluir cabeceras de respuesta del protocolo en la salida.-o
, --output
: escribir en un archivo en lugar de en la salida estándar.-O
, --remote-name
: escribir la salida en un archivo con el mismo nombre que el archivo remoto.-s
, --silent
: modo silencioso.-T
, --upload-file
: transferir el archivo local al destino.-u
, --user
: usuario y contraseña del servidor.-A
, --user-agent
: enviar un agente de usuario al servidor.-v
, --verbose
: hacer que la operación sea más habladora.-V
, --version
: mostrar el número de versión y salir.
En caso de que quieras el listado completo puedes usar --help all
y si deseas conocer más sobre cURL puedes consultar la documentación online que encontrarás en la página web del proyecto.
Deja una respuesta