Usos de ejemplo del comando Linux Curl

Aprenda las muchas formas en que puede usar el comando Curl en Linux El comando curl se puede usar para transferir archivos a través de una red o desde Internet usando una variedad de formatos diferentes, incluyendo http, https, ftp e incluso smb.

Aprenda las muchas formas en que puede usar el comando Curl en Linux

El comando curl se puede usar para transferir archivos a través de una red o desde Internet usando una variedad de formatos diferentes, incluyendo http, https, ftp e incluso smb.

El comando curl tiene muchos métodos de autenticación diferentes. Puede usarlo para acceder a sitios FTP, enviar correos electrónicos, conectarse a direcciones SAMBA, cargar y descargar archivos y muchas otras cosas.

El comando curl tiene muchos parámetros que aprender. Puede ver una lista completa de ellos en la página del manual de curl.

Uso básico del comando curl

El comando curl se puede usar para descargar archivos de Internet, pero en su forma básica, puede descargar el contenido de la página web directamente a la ventana del terminal.

Por ejemplo, ingrese el siguiente comando en una ventana de terminal:

 curl http://linux.lifewire.com/cs/linux101/g/curl.htm 

La salida se desplazará hacia arriba en la ventana del terminal y le mostrará el código de la página web vinculada.

Obviamente, la página se desplaza demasiado rápido para leer y, por lo tanto, si desea reducir la velocidad, debe usar el comando less o el comando more.

 curl http://linux.lifewire.com/cs/linux101/g/curl.htm | más 

Salida del contenido de curl a un archivo

El problema con el uso básico del comando curl es que el texto se desplaza muy rápido. Si está descargando un archivo como una imagen ISO, no desea que esto vaya a la salida estándar.

Para guardar el contenido en un archivo, todo lo que tiene que hacer es especificar el interruptor menos o (-o) de la siguiente manera:

 curl -o 

Para descargar la página vinculada a la sección de uso de comandos básicos, todo lo que tiene que hacer es ingresar el siguiente comando:

 curl -o curl.htm http://linux.lifewire.com/cs/linux101/g/curl.htm 

Después de que el archivo se haya descargado, puede abrirlo en un editor o en su programa predeterminado determinado por el tipo de archivo.

Puede simplificar esto aún más utilizando el interruptor menos O (-O) de la siguiente manera:

 curl -O http://linux.lifewire.com/cs/linux101/g/curl.htm 

Esto usará la parte del nombre de archivo de la URL y lo convertirá en el nombre de archivo en el que se guarda la URL. En la instancia anterior, el archivo se llamará curl.htm.

Ejecute el comando Curl en segundo plano

Por defecto, el comando curl muestra una barra de progreso que le indica qué parte de la transferencia queda y cuántos datos se han transferido.

Si solo desea que el comando se ejecute sin una barra de progreso, deberá ejecutarlo en modo silencioso. Luego ejecútelo como un comando de fondo.

Para ejecutar un comando en silencio, use el siguiente comando:

 curl -s -O 

Para que el comando se ejecute en segundo plano, debe usar el signo y (&) de la siguiente manera:

 curl -s -O & 

Ejecutar el comando culr sin la barra de progreso es más ágil, pero no sabrá cuánto tiempo llevará la transferencia o el tiempo estimado que debería completar.

Descargar varias URL con Curl

Puede descargar desde múltiples URL usando un solo comando curl.

En su forma más simple, puede descargar varias URL de la siguiente manera:

 curl -O http://www.mysite.com/page1.html -O http://www.mysite.com/page2.html 

Imagine que tiene una carpeta con 100 imágenes, todas llamadas image1.jpg, image2.jpg, image3.jpg, etc. No desearía tener que escribir todas estas URL.

Para hacer esto, puede usar corchetes para suministrar un rango. Por ejemplo, para obtener los archivos 1 a 100, puede especificar lo siguiente:

 curl -O http://www.mysite.com/images/image[1-100font>.jpg 

También puede usar llaves para especificar múltiples sitios con formatos similares.

Por ejemplo, imagine que desea descargar www.google.com y www.bing.com. Simplemente puede usar el siguiente comando para lograr esto:

 curl -O http: // www. {google, bing} .com 

Mostrar progreso

Por defecto, el comando curl devuelve la siguiente información a medida que descarga una URL:

  • % total : porcentaje de transferencia total completada.
  • Total de bytes : tamaño total de la transferencia en bytes.
  • % recibido/transferido : porcentaje de transferencia completada.
  • Bytes recibidos/transferidos : número de bytes descargados.
  • Velocidad media de descarga : velocidad de descarga en bytes por segundo.
  • Velocidad de carga promedio : velocidad de carga en bytes por segundo.
  • Tiempo total : tiempo estimado para completar la operación actual.
  • Tiempo empleado : tiempo transcurrido desde el inicio de la transferencia.
  • Tiempo restante : tiempo esperado para completar la transferencia.
  • Velocidad actual : velocidad de transferencia actual en bytes por segundo.

Si prefiere una barra de progreso simple, simplemente especifique el interruptor de hash menos (- #) de la siguiente manera:

 curl - # -O 

Manejo de redireccionamientos

Imagine que ha especificado una URL como parte del comando curl y cree que tiene la dirección correcta para descargar un archivo grande solo para volver más tarde y descubrir que todo lo que tiene es una página web que dice «esta página ha sido redirigida a www.blah». com «. Eso sería molesto, ¿no?

El comando curl es inteligente porque puede seguir redirecciones. Todo lo que tiene que hacer es usar el interruptor menos L (-L) de la siguiente manera:

 curl -OL 

Reduce la velocidad de descarga

Si está descargando un archivo grande y tiene una mala conexión a Internet, puede molestar a la familia si también está tratando de hacer cosas en Internet.

Afortunadamente, puede reducir la velocidad de descarga con el comando curl.

 curl -O - velocidad límite 1m 

La velocidad se puede especificar en kilobytes (k o K), megabytes (m o m) o gigabytes (go G).

Tenga en cuenta que reducir la velocidad de descarga aumentará el tiempo que tarda una transferencia en completarse.

Descargar archivos de un servidor FTP

El comando curl puede manejar más que solo transferencias de archivos HTTP. Puede manejar FTP, GOPHER, SMB, HTTPS y muchos otros formatos.

Para descargar archivos de un servidor FTP, use el siguiente comando:

 curl -u usuario: contraseña -o 

Si especifica el nombre de un archivo como parte de la URL, descargará el archivo, pero si especifica el nombre de una carpeta, devolverá una lista de carpetas.

También puede usar curl para cargar archivos a un servidor FTP mediante el siguiente comando:

 curl -u usuario: contraseña -T 

Los nombres de archivo y pueden usar la misma coincidencia de patrones que para descargar múltiples archivos HTTP.

Pasar datos del formulario a un formulario

Puede usar curl para completar un formulario en línea y enviar los datos como si lo hubiera llenado usted mismo. Muchos servicios populares como Google bloquean este tipo de uso.

Imagine que hay un formulario con un nombre y una dirección de correo electrónico. Puede enviar esta información de la siguiente manera:

 curl -d name = john email=john@mail.com www.mysite.com/formpage.php 

Hay varias formas de transferir la información del formulario. El comando anterior usa texto básico, pero si desea usar la codificación múltiple que permite la transferencia de imágenes, deberá usar el interruptor menos F (-F).

Rate article
labsfabs.com
Add a comment