Uso de la herramienta cURL

Uso de la herramienta cURL.

Hoy hablaremos de la herramienta cURL, es necesario que la conozcas, pues resulta de mucha utilidad si lo que quieres es descargar o transferir datos a un servidor.

La herramienta cURL tiene una particularidad que la distingue de otras, no requiere de la interacción de un usuario para su correcto funcionamiento.

Daniel Stenberg fue el desarrollador del proyecto cURL (lo creo como un bot que actualizaba las tasas de cambio de monedas), actualmente su comunidad es grande, pero Daniel sigue siendo el principal baluarte sobre el que se basa el continuo desarrollo de la herramienta.

Visita su github.

Uno de sus puntos fuertes es la multitud de protocolos que admite, son los siguientes: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET y TFTP. Ademas admite los certificados SSL, HTTP POST, HTTP PUT, y permite la carga por FTP, por HTTP basada en formularios, proxies, HTTP/2, cookies, etc…

Estamos ante una de las herramientas más usadas por los desarrolladores, lo que no le resta robustez y seguridad.

En este articulo veremos las formas de uso más comunes (con ejemplos), seguro que alguna te resultara útil en el desarrollo de tu aplicación.

 

Uso de la herramienta cURL

Dependiendo de la versión de tu distribución linux, tal vez no este instalada por defecto.

Debian, Ubuntu y derivados:

CentOS derivados:

Puedes comprobar la versión cURL instalada, con:

ejemplo…

[root@host ~]# curl –version
curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.36 zlib/1.2.7 libidn/1.28 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets

 

Descargar un archivo:

La descarga de un archivo nos ofrece dos opciones…

  • O – Guarda el archivo en la carpeta actual y con su nombre original.
  • o – Permite indicar la carpeta donde se guardara el archivo, y modificar el nombre de la descarga.

O

ejemplo…

curl -O http://domain.com/archivo.tar.gz

o

ejemplo…

curl -o nuevo-nombre-de-archivo.tar.gz http://domain.com/archivo.tar.gz

 

Reanudar descarga interrumpida:

Si por algún motivo se interrumpe la descarga, puedes usar la opción «-C» para reanudar la misma.

ejemplo…

curl -C – -O http://domain.com/archivo.tar.gz

 

Descargar varios archivos a la vez:

Simplemente añadiendo url’s a continuación de la opción, puedes descargar varios archivos a la vez.

ejemplo…

curl -O http://domain.com/readme.html -O http://domain.com/creditos.txt

 

Descargar varios archivos a la vez desde una lista de url’s:

Si hacemos uso de la herramienta cURL junto con el comando «xargs«, nos permitirá descargar las direcciones url de un listado, por ejemplo «archivos-a-descargar.txt«.

ejemplo…

xargs -n 1 curl -O < archivos-a-descargar.txt

 

Limitar la velocidad de descarga:

En el ejemplo limitaremos la tasa a 500Kb/s.

ejemplo…

curl –limit-rate 500K http://domain.com/archivo.tar.gz -O

 

Consultar encabezados HTTP:

Hacer una consulta sobre los encabezados HTTP, nos aportara información detallada sobre como de procesa nuestra solicitud. Muy útil a nivel de seguridad.

ejemplo…

curl -I dirección-web

 

Descargar archivos por FTP:

Donde «username:password» debes ingresar tu usuario y la password, si el FTP admite usuarios anónimos… simplemente lo omites.

 

Cargar archivos por FTP:

Donde «username:password» debes ingresar tu usuario y la password, si el FTP admite usuarios anónimos… simplemente lo omites.

 

Modificar el agente de usuario:

El agente de usuario indica con que navegador web se conecta un cliente.

 

Visualizar las cookies que se descargan al visitar un sitio web:

Generamos el archivo «cookies.txt» y lo visualizaremos con el comando «cat«.

Ahora…

 

Estos comandos que acabamos de ver, son los más usados por la herramienta cURL, puedes ampliar información visitando su documentación oficial.

 

Agregar comentario