Domine el comando cURL con estos 10 ejemplos

Domine el comando cURL con estos 10 ejemplos

Cuando se trata de recuperar información sobre una aplicación Web desde la línea de comandos, ya sea en Linux, Windows o macOS, la herramienta cURL es sencillamente indispensable.. Es una herramienta gratuita, útil tanto para desarrolladores como para administradores de sistemas. Aquí tienes una selección de ejemplos para empezar.

cURL se utiliza a menudo para solicitar protocolos HTTP y HTTPS, pero admite muchos otros protocolos, como indica el sitio oficial: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP.

¿Sabía que cURL son las siglas de Client URL?

1. ¿Cómo instalo cURL en Debian?

Aunque está integrado en Windows 10, Windows 11 y las versiones recientes de Windows Server, en Linux, cURL debe instalarse a través del gestor de paquetes. Por ejemplo, en Debian 11, esto da :

sudo apt-get update
sudo apt-get install curl

La instalación es muy sencilla, pero quería aclarar algo.

2. Recuperación del contenido de la página con cURL

La misión principal de cURL es recuperar información de un servidor web. Así, si invocas el comando 'curl' seguido de un nombre de dominio o una dirección web, te devolverá el código fuente de la página. Pruébalo:

curl tutobox.fr

La consola muestra el código fuente de la página de inicio de Tutobox. Si no se puede encontrar la dirección, se muestra el siguiente mensaje:

curl: (6) No se ha podido resolver el host: http://tutibox.fr

Ahora exploremos las opciones de cURL...

3. Almacenamiento del contenido de la página en un archivo con cURL

Si necesita almacenar el contenido de una página en un archivo de salida, puede utilizar cURL. En el ejemplo siguiente, el código fuente de la página " https://tutobox.fr " se almacenará en el " /home/tutobox/tutobox.es.html" .

curl https://tutobox.fr > /home/tutobox/tutobox.es.html
Ejemplo cURL

4. Visualizar la solicitud y la respuesta HTTP con cURL

Cuando te conectas a una página utilizando el protocolo HTTP (o HTTPS), el cliente HTTP envía una petición HTTP y el servidor devuelve una respuesta HTTP, con diversa información, incluido el contenido de la página. Para ver tanto la petición como la respuesta con cURL, debe utilizarse la opción "-v".

curl -v https://tutobox.fr

5. Visualización de la cabecera HTTP con cURL

En una respuesta HTTP, la cabecera del servidor contiene información importante: la versión de HTTP utilizada, el código de retorno (por ejemplo: "200 OK" cuando la solicitud se procesa correctamente), la fecha y la hora, el tipo de servidor, etc. A veces, el contenido de la página no interesa e intentamos analizar únicamente la cabecera HTTP.

Para recuperar sólo la cabecera, debe utilizarse la opción "-head" o su abreviatura "-I". Por ejemplo :

curl --head https://tutobox.fr
curl -I https://tutobox.fr
cURL - Encabezado HTTP

6. Uso de cURL a través de un proxy

¿Necesita utilizar un proxy para acceder a Internet? No hay problema, ya que cURL soporta muy bien el uso de un proxy. Puede utilizar la opción "-proxy" seguida de la dirección del proxy y su puerto (separados por ":") para especificar la información.

curl --proxy : https://tutobox.fr

7. cURL: utilizar un user-agent diferente

Cuando te conectas a un servidor Web utilizando el protocolo HTTP(S), la petición HTTP contiene un campo llamado "User-Agent" que permite al cliente HTTP presentarse al servidor. Con cURL, el campo " Usuario-Agente "es curl/7.74.0 "una forma de decir Hola, me llamo cURL y me gustaría hacer una petición.... ".

Cada software puede tener su propio valor: Mozilla Firefox, Google Chrome, Microsoft Edge, etc... Pero también otro software como Nikto, un escáner de vulnerabilidades para sitios web. Si quieres comprobar si un sitio web bloquea Nikto, puedes pedirle a cURL que utilice "Nikto" como valor para el User-Agent.

Esto da el siguiente comando, si también desea mostrar sólo la cabecera:

curl -I tutobox.fr -H "User-Agent: Nikto"

Aquí, podemos ver que el acceso es denegado utilizando el código de retorno 403 :

cURL - Cambiar el agente de usuario

8. Ignorar el error de certificado con cURL

Cuando cURL detecta un error de certificado en una página Web, no está muy contento. Sin embargo, esto ocurre con frecuencia en las páginas de administración de un dispositivo de red, un sitio local, etc... Debido al certificado autofirmado. Con la opción "-insecure" puedes ignorar este error.

curl --insecure https://192.168.1.254

9. Descargar un archivo con cURL

Además de mostrar el contenido de una página web, cURL puede utilizarse para descargar un archivo: un vídeo, un script, una imagen, etc. Es muy habitual utilizarlo para descargar un script de GitHub. También puedes utilizar cURL para subir un archivo a un servidor FTP, autenticándote con un nombre de usuario y una contraseña.

He aquí un ejemplo para FTP:

curl -u : -O ftp://serveur-ftp.tutobox.fr/video.avi

Aquí tienes un ejemplo de cómo subir un script a GitHub:

curl -O https://raw.githubusercontent.com/tutobox/script.sh

10. Uso de cURL con una versión específica de SSL/TLS

Al configurar un sitio web, puede activar la compatibilidad con una o varias versiones de SSL/TLS. Para garantizar la compatibilidad con navegadores antiguos, debe activar determinados protocolos. A la inversa, para que su sitio sea más seguro, debe desactivar ciertas versiones. Con cURL, puede intentar una conexión con una versión específica de los protocolos SSL/TLS, para poder probar su configuración.

curl --sslv3 https://tutobox.fr
curl --tlsv1 https://tutobox.fr
curl --tlsv1.0 https://tutobox.fr
curl --tlsv1.1 https://tutobox.fr
curl --tlsv1.2 https://tutobox.fr
curl --tlsv1.3 https://tutobox.fr

Esto significa que puede obtener un error o una respuesta correcta, dependiendo de la versión del protocolo especificada y de la configuración del servidor que tenga delante.

11. Consultar varios sitios al mismo tiempo con cURL

Terminemos con un último truco: la posibilidad de consultar varios sitios, o direcciones si lo prefieres, al mismo tiempo con cURL. Por ejemplo, para apuntar a "tutabox.co.uk", "tutibox.co.uk" y "tutebox.co.uk", en lugar de hacer las peticiones una a una, puedes hacer :

curl https://{tutabox,tutibox,tutebox}.fr
cURL - Múltiples URL

12. Conclusión

Después de leer este artículo de la caja de tutoriales de informática, podrás familiarizarte con la herramienta cURL. ¿Quieres probar aún más comandos cURL? Echa un vistazo a la ayuda avanzada :

curl --help todos

Recursos :

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *