Es muy probable que en alguna ocasión te hayas enfrentado a la situación de necesitar conectarte a algún servicio, ya sea FTP, SFTP, HTTP o incluso LDAP, y descubrir que no tenías el cliente adecuado instalado.
Todas estas tareas pueden llevarse a cabo con cURL, pero ¿qué es exactamente cURL y cómo puede beneficiarnos?
cURL es una herramienta de línea de comandos que deriva de las palabras "Client URL". Su función principal radica en la transferencia de archivos a través de direcciones URL. Esta versátil herramienta no solo es compatible con protocolos como FTP, SFTP, SCP, y LDAP, sino también con HTTP y HTTPS. Su estructura se compone de dos elementos clave: la librería libcurl y el ejecutable curl.
En este artículo nos centraremos en la utilización de cURL para los protocolos HTTP y HTTPS.
Para comprender completamente el contenido de este artículo, es necesario tener conocimientos previos sobre el protocolo HTTP y el funcionamiento de las cabeceras HTTP.
Como se mencionó anteriormente, cURL es una herramienta de línea de comandos. Aunque es utilizada por numerosas aplicaciones y está disponible en la mayoría de los sistemas operativos, es importante verificar si está instalada en nuestro sistema antes de proceder. A lo largo de este artículo, nos referiremos principalmente a Linux como sistema operativo de referencia para las pruebas, pero ten en cuenta que cURL puede instalarse en cualquier sistema operativo que prefieras.
Una vez que hayamos confirmado que cURL está instalado, podemos proceder a realizar nuestra primera solicitud HTTP.
La sintaxis básica de cURL es la siguiente:
Uso: curl [opciones...]
Para realizar una solicitud GET simple, simplemente ejecutamos el siguiente comando:
curl https://www.ejemplo.com/
Es probable que en este momento veas una gran cantidad de código HTML y JavaScript en tu terminal. ¿Por qué sucede esto? Este código representa la respuesta que www.ejemplo.com ha proporcionado a nuestra solicitud. Esencialmente, es la página completa que veríamos si la visitáramos en nuestro navegador web.
cURL actúa como un "navegador" desde la terminal, lo que significa que todo el contenido del cuerpo de nuestra solicitud se muestra directamente en la terminal.
En muchas ocasiones, es posible que no necesitemos todo el contenido del cuerpo de la respuesta, especialmente si solo queremos verificar el estado de nuestra solicitud o revisar la información de las cabeceras. Para realizar una solicitud sin recibir el contenido completo, podemos utilizar la opción "-I" en nuestra solicitud cURL, lo que nos permite obtener únicamente la información de las cabeceras.
curl -I https://www.ejemplo.com
En este caso, solo se mostrará el código de respuesta del servidor y las cabeceras proporcionadas por www.ejemplo.com.
Ahora que hemos obtenido una breve introducción sobre cURL y cómo funciona, vamos a explorar algunos ejemplos prácticos que pueden ser de gran utilidad.
▸ Guardar salida en un archivo
Podemos utilizar las opciones -o y -O para guardar la respuesta en un archivo. ¿Cuál es la diferencia entre -o y -O? Con -o en minúscula, podemos especificar el nombre del archivo en el que deseamos guardar la respuesta, mientras que con -O en mayúscula, cURL guardará la respuesta con el mismo nombre que el recurso solicitado.
curl -o index.html https://www.ejemplo.com/
curl -O https://www.ejemplo.com/ejemplo.css
En el primer caso, la respuesta se guardará como index.html. En el segundo ejemplo, el archivo se guardará con el mismo nombre que el recurso solicitado (ejemplo.css en este caso).
Estas opciones también pueden utilizarse para enviar la respuesta a otro lugar, como por ejemplo, a /dev/null.
▸ Seguir redirecciones
Mediante la opción -L o --location, podemos indicar a cURL que siga las redirecciones realizadas durante la solicitud. Si una solicitud devuelve un código de respuesta 30X, significa que el recurso solicitado no es la ubicación final, sino que el servidor está redirigiendo la solicitud a otra ubicación. Por defecto, cURL no sigue estas redirecciones, sino que simplemente devuelve el código de respuesta y finaliza la ejecución.
curl -IL https://ejemplo.com/
En este ejemplo, cURL seguirá la redirección y mostrará tanto la respuesta inicial como la respuesta final, incluyendo las cabeceras.
▸ Utilizar otros métodos HTTP
Además de las solicitudes GET y HEAD que hemos visto hasta ahora, cURL también nos permite realizar solicitudes con otros métodos HTTP, como OPTIONS, POST, PUT, DELETE, etc. Para ello, utilizamos la opción -X seguida del método deseado.
curl -X OPTIONS https://www.ejemplo.com/
curl -X POST https://www.ejemplo.com/
▸ Agregar cabeceras HTTP
En muchas ocasiones, es necesario agregar cabeceras adicionales a nuestras solicitudes, por ejemplo, al realizar una carga a través de POST a una API. Para hacer esto con cURL, utilizamos la opción -H seguida de la cabecera que deseamos establecer:
curl -X POST -H "Content-Type: application/json" "https://www.ejemplo.com"
Es posible incluir múltiples cabeceras agregando más opciones -H.
curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" "https://www.ejemplo.com"
Aunque cURL puede no ser tan intuitivo como otras herramientas con interfaz gráfica, como Postman o Insomnia, ofrece una gran flexibilidad y configurabilidad. cURL puede ejecutarse desde prácticamente cualquier lugar y puede adaptarse fácilmente a scripts y automatizaciones. Es importante destacar que cURL no solo es compatible con HTTP, sino que también admite una amplia gama de protocolos adicionales.
Espero que la información sobre cURL haya sido de tu interés. Te invito a explorar más artículos con contenido valioso. Además, no dudes en consultar nuestros post más visitados, ¡seguro encontrarás información que te será de gran utilidad!
¿Necesitas ayuda? Como agencia digital, estamos aquí para brindarte nuestra asistencia.
Requiero ayudaArtículos interesantesTodos los derechos reservados © 2024 margetc.com
P. de Privacidad | Aviso Legal | Mapa web html