Ejemplos del comando curl.
Curl es una herramienta en línea de comandos esencial para los usuarios de Linux, especialmente útil si tienes que transferir datos hacia, o desde un servidor independientemente del protocolo utilizado.
Admite una gran cantidad de protocolos, por ejemplo: HTTP/s, FTP/s, IMAP, POP3, SCP, SFTP, SMTP, TFTP, Telnet, LDAP, POP3S, RTMP, RTSP, DICT, FILE, PUT, Gopher, y muchos más. También soporta cookies, password de usuario, proxy tunelizado, etc…
Destacamos que la utilidad curl cuenta con una serie de opciones que nos permiten ampliar sus funciones, ademas permite transferir varios archivos a la vez.
Ejemplos del comando curl
La mejor forma de aprender es con ejemplos, por tanto así lo hacemos.
Descargar un archivo con curl
Para descargar un archivo de Internet puedes usar curl con la opción «-o», esta opción descargará y guardará el archivo en la carpeta actual con el mismo nombre que tiene en remoto.
curl -O https://sitioweb.com/archivo.tar.gz
Descargar varios archivos con curl
Si quieres descargar varios archivos de igual manera que la formula anterior, utilizando «-o», observa el siguiente ejemplo.
curl -O https://sitioweb.com/archivo.tar.gz https://otraweb.com/archivo1.rar
Limitar la velocidad de las descargas
Si no tienes una conexión a Internet potente, puedes limitar el ancho de banda de las descargas (en el ejemplo a 500K).
curl --limit-rate 500K https://misitio.com/archivo.tar.gz -O
Descargar varios archivos desde una lista
Si nos ayudamos de Xargs, podemos crear un archivo de texto con el listado de los recursos a descargar (esta opción es especialmente útil cuando tenemos una gran cantidad de archivos a descargar).
xargs -n 1 curl -O < listadearchivos.txt
Reanudar descargas incompletas
La opción «-c» nos permite reanudar descargas que han sido interrumpidas.
curl -C - -O https://miweb.com/archivo.tar.gz
Descargar archivos a través de un proxy
El comando curl también nos permite descargar archivos en una red con proxy.
curl -x proxy.misitio.com:8080 -U user:usuario -O http://misitio.com/miarchivo.tar.gz
Consultar el encabezado HTTP con curl
Con el encabezado HTTP obtenemos información adicional del servidor remoto.
curl -I www.sitiodemo.com
Pasar parámetros con curl
Curl nos permite publicar solicitudes a una url y pasar parámetros. En el ejemplo pasamos nuestro nombre mediante post.
curl --data "Name=Sololinux" https://miweb.com/users.php
Descargar archivos de un servidor FTP
Curl lo descarga todo, incluso archivos en un servidor ftp.
curl -u usuario:password -O ftp://misitio.com/archivo.tar.gz
Nota: si es un servidor ftp anónimo elimina «usuario:password».
Subir archivos a un servidor FTP con curl
La herramienta curl no solo permite descargar archivos de un servidor ftp remoto, también subirlos.
curl -u usuario:password -T archivoasubir.zip ftp://misitio.com
Nota: si es un servidor ftp anónimo elimina «usuario:password».
Especificar el agente de usuario con curl
Con el comando curl, también podemos especificar el agente de usuario que se enviará a través de la solicitud https.
curl -I https://misitio.com --user-agent "AGENTE-DE-USUARIO"
Esta opción nos permite guardar un archivo de texto en nuestro equipo de las cookies de un sitio web. En el ejemplo las descargamos de la CNN.
curl --cookie-jar cookiescnn.txt https://edition.cnn.com/index.html -O
Lo mismo que en el paso anterior pero a la inversa, ahora se las enviamos nosotros a ellos.
curl --cookie cookiescnn.txt https://edition.cnn.com
Verificar la versión de curl instalada
curl --version
ejemplo de salida…
sololinux ~ # curl –version
curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
Canales de Telegram: Canal SoloLinux – Canal SoloWordpress
Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.
» ~$ curl ifconfig.me » te imprime por pantalla tu IP pública
Gracias por el aporte José Luis.