En este artículo, hemos explicado algunos consejos sobre cómo usar el comando Curl en Linux.
El comando curl transfiere datos hacia o desde un servidor de red, utilizando uno de los protocolos admitidos. Dado que cURL usa libcurl, admite una variedad de protocolos de red comunes, que actualmente incluyen HTTP, [10] [14] HTTPS, solicitudes SOAP.
Comencemos y aprendamos los comandos curl.
1. Ver versión curl
Las opciones -V o --version no solo devolverán la versión, sino también los protocolos y funciones admitidos en su versión actual.
$ 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
Protocolos: archivo dict ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Características: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
2. Descarga un archivo
Si desea descargar un archivo, puede usar curl con las opciones -O u -o. El primero guardará el archivo en el directorio de trabajo actual con el mismo nombre que en la ubicación remota, mientras que el segundo le permite especificar un nombre de archivo y / o ubicación diferente.
$ curl -O http://yourdomain.com/yourfile.tar.gz # Save as yourfile.tar.gz
$ curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz # Save as newfile.tar.gz
3. Reanudar una descarga interrumpida
Si una descarga se interrumpió por algún motivo (por ejemplo, usando Ctrl + c), puede reanudarla muy fácilmente. El uso de -C - (guión C, guión espacial) le dice a curl que reanude la descarga comenzando donde la dejó.
$ curl -C - -O http://yourdomain.com/yourfile.tar.gz
4. Descarga varios archivos
Con el siguiente comando, descargará info.html y about.html de http://yoursite.com y http://mysite.com, respectivamente, de una sola vez.
$ curl -O http://yoursite.com/info.html -O http://mysite.com/about.html
5. Descargar URL de un archivo
Si combina curl con xargs, puede descargar archivos de una lista de URL en un archivo.
# xargs -n 1 curl -O <>
6. Utilice un proxy con o sin autenticación
Si está detrás de un servidor proxy escuchando en el puerto 8080 en proxy.yourdomain.com, hágalo.
# curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz
donde puede omitir -U usuario: contraseña si su proxy no requiere autenticación.
7. Consultar encabezados HTTP
Los encabezados HTTP permiten que el servidor web remoto envíe información adicional sobre sí mismo junto con la solicitud real. Esto proporciona al cliente detalles sobre cómo se está manejando la solicitud.
Para consultar los encabezados HTTP de un sitio web, haga lo siguiente:
# curl -I www.rootadminz.com
8.Realice una solicitud POST con parámetros
El siguiente comando enviará los parámetros firstName y lastName, junto con sus valores correspondientes, a https://yourdomain.com/info.php.
# curl --data "firstName=John&lastName=Doe' https://yourdomain.com/info.php
Puede utilizar este consejo para simular el comportamiento de un formulario HTML normal.
9. Descargar archivos de un servidor FTP con o sin autenticación
Si un servidor FTP remoto espera conexiones en ftp: // yourftpserver, el siguiente comando descargará yourfile.tar.gz en el directorio de trabajo actual.
# curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz
donde puede omitir -u nombre de usuario: contraseña si el servidor FTP permite inicios de sesión anónimos.
10. Cargue archivos a un servidor FTP con o sin autenticación
Para cargar un archivo local llamado mylocalfile.tar.gz a ftp: // yourftpserver usando curl, haga:
# curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver
11. Especifique el agente de usuario
El agente de usuario es parte de la información que se envía junto con una solicitud HTTP. Esto indica qué navegador utilizó el cliente para realizar la solicitud. Veamos qué utiliza nuestra versión actual de curl de forma predeterminada y cambiemos más tarde a "Soy un nuevo navegador web":
# curl -I http://localhost --user-agent "I am a new web browser'
12. Almacenar cookies del sitio web
¿Quiere ver qué cookies se descargan en su computadora cuando navega a https://www.cnn.com? Utilice el siguiente comando para guardarlos en cnncookies.txt. Luego puede usar el comando cat para ver el archivo.
# curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O
13. Enviar cookies de sitios web
Puede utilizar las cookies recuperadas en el último consejo en solicitudes posteriores al mismo sitio.
# curl --cookie cnncookies.txt https://www.cnn.com
14. Modificar la resolución de nombres
Si eres un desarrollador web y quieres probar una versión local de yourdomain.com antes de publicarla, puedes hacer que curl resuelva http://www.yourdomain.com en tu localhost así:
# curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/
Por lo tanto, la consulta a http://www.yourdomain.com le dirá a curl que solicite el sitio desde localhost en lugar de usar DNS o el archivo / etc / hosts.
15. Limitar la velocidad de descarga
Para evitar que curl elimine su ancho de banda, puede limitar la velocidad de descarga a 100 KB / s de la siguiente manera.
# curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O
Hoy, hemos aprendido qué es Curl y cómo usar el comando Curl en Linux.