comando curl en Linux con ejemplos

curl es una herramienta de línea de comandos para transferir datos hacia o desde un servidor, utilizando cualquiera de los protocolos admitidos (HTTP, FTP, IMAP, POP3, SCP, SFTP, SMTP, TFTP, TELNET, LDAP o FILE). curl funciona con Libcurl. Esta herramienta es la preferida para la automatización, ya que está diseñada para funcionar sin la interacción del usuario. curl puede transferir varios archivos a la vez. 
Sintaxis:  

curl [options] [URL...]

URL : el uso más básico de curl es escribir el comando seguido de la URL.  

curl https://www.geeksforgeeks.org

Esto debería mostrar el contenido de la URL en el terminal. La sintaxis de URL depende del protocolo y se pueden escribir varias URL como conjuntos como: 

curl http://site.{one, two, three}.com

Las URL con series de secuencias numéricas se pueden escribir como: 

curl ftp://ftp.example.com/file[1-20].jpeg

Medidor de progreso: curl muestra un medidor de progreso durante el uso para indicar la velocidad de transferencia, la cantidad de datos transferidos, el tiempo restante, etc. 

curl -# -O ftp://ftp.example.com/file.zip
curl --silent ftp://ftp.example.com/file.zip

Si prefiere una barra de progreso en lugar de un medidor, puede usar la opción -# como en el ejemplo anterior, o -silent si desea desactivarla por completo. 

Ejemplo:

Opciones: 

-o: guarda el archivo descargado en la máquina local con el nombre proporcionado en los parámetros. 
Sintaxis:

curl -o [file_name] [URL...]
  • Ejemplo:
curl -o hello.zip ftp://speedtest.tele2.net/1MB.zip
  • Producción:

  • El ejemplo anterior descarga el archivo del servidor FTP y lo guarda con el nombre hello.zip .

-O: Esta opción descarga el archivo y lo guarda con el mismo nombre que en la URL. 
Sintaxis:

curl -O [URL...]
  • Ejemplo:
curl -O ftp://speedtest.tele2.net/1MB.zip
  • Producción:

-C -: Esta opción reanuda la descarga que se ha detenido por algún motivo. Esto es útil cuando se interrumpe la descarga de archivos grandes. 
Sintaxis:

curl -C - [URL...]
  • Ejemplo:
curl -C - -O ftp://speedtest.tele2.net/1MB.zip
  • Producción:

–limit-rate: esta opción limita el límite superior de la tasa de transferencia de datos y lo mantiene alrededor del valor dado en bytes. 
Sintaxis:

curl --limit-rate [value] [URL]
  • Ejemplo:
curl --limit-rate 1000K -O ftp://speedtest.tele2.net/1MB.zip
  • Producción:

  • El comando limita la descarga a 1000K bytes.

-u: curl también proporciona opciones para descargar archivos desde servidores FTP autenticados por el usuario. 
Sintaxis:

curl -u {username}:{password} [FTP_URL]
  • Ejemplo:
curl -u demo:password -O ftp://test.rebex.net/readme.txt
  • Producción: 

-T: Esta opción ayuda a subir un archivo al servidor FTP. 
Sintaxis:

curl -u {username}:{password} -T {filename} {FTP_Location}
  • Si desea agregar un archivo FTP ya existente, puede usar la opción -a o -append .

–libcurl: esta opción es muy útil desde la perspectiva de un desarrollador. Si esta opción se agrega a cualquier comando cURL, genera el código fuente C que usa libcurl para la opción especificada. Es un código similar a la implementación de la línea de comandos. 
Sintaxis: 

curl [URL...] --libcurl [filename]
  • Ejemplo:
curl https://www.geeksforgeeks.org > log.html --libcurl code.c
  • Producción:

  • El ejemplo anterior descarga el HTML y lo guarda en log.html y el código en el archivo code.c. El siguiente comando muestra las primeras 30 líneas del código.

-x, –proxy: curl también nos permite usar un proxy para acceder a la URL. 
Sintaxis:

curl -x [proxy_name]:[port] [URL...]
  • Si el proxy requiere autenticación, se puede usar con el comando: 
curl -u [user]:[password] -x [proxy_name]:[port] [URL...]

Envío de correo: como curl puede transferir datos a través de diferentes protocolos, incluido SMTP, podemos usar curl para enviar correos. 
Sintaxis: 

curl –url [SMTP URL] –mail-from [sender_mail] –mail-rcpt [receiver_mail] -n –ssl-reqd -u {email}:{password} -T [Mail text file] 

Protocolo DICT: Libcurl define el protocolo DICT que se puede utilizar para obtener fácilmente la definición o el significado de cualquier palabra directamente desde la línea de comandos. 
Sintaxis: 

curl [protocol:[dictionary_URL]:[word]
  • Ejemplo:
curl dict://dict.org/d:overclock
  • Producción:

Nota: Hay una serie de otras opciones proporcionadas por cURL que se pueden consultar en la página principal. La biblioteca libcurl se ha portado a varios lenguajes de programación. Es aconsejable visitar el sitio del proyecto individual para la documentación.

Publicación traducida automáticamente

Artículo escrito por singhyog y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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