Androide

Comando curl en linux con ejemplos

cURL (Client URL) Protocolos de Internet desde Consola

cURL (Client URL) Protocolos de Internet desde Consola

Tabla de contenido:

Anonim

curl es una utilidad de línea de comandos para transferir datos desde o hacia un servidor diseñado para funcionar sin interacción del usuario. Con curl , puede descargar o cargar datos utilizando uno de los protocolos compatibles, incluidos HTTP, HTTPS, SCP, SFTP y FTP. curl ofrece una serie de opciones que le permiten reanudar las transferencias, limitar el ancho de banda, el soporte de proxy, la autenticación del usuario y mucho más.

En este tutorial, le mostraremos cómo usar la herramienta de rizo a través de ejemplos prácticos y explicaciones detalladas de las opciones de rizo más comunes.

Instalar Curl

El paquete curl está preinstalado en la mayoría de las distribuciones de Linux hoy en día.

Para verificar si el paquete Curl está instalado en su sistema, abra su consola, escriba curl y presione Intro. Si tiene curl instalado, el sistema imprimirá curl: try 'curl --help' or 'curl --manual' for more information . De lo contrario, verá algo como el curl command not found .

Si curl no está instalado, puede instalarlo fácilmente usando el administrador de paquetes de su distribución.

Instalar Curl en Ubuntu y Debian

sudo apt update sudo apt install curl

Instalar Curl en CentOS y Fedora

sudo yum install curl

Cómo usar Curl

La sintaxis para el comando curl es la siguiente:

curl

En su forma más simple, cuando se invoca sin ninguna opción, curl muestra el recurso especificado en la salida estándar.

Por ejemplo, para recuperar la página de inicio de example.com ejecutaría:

curl example.com

El comando imprimirá el código fuente de la página de inicio de example.com en la ventana de su terminal.

Si no se especifica ningún protocolo, curl intenta adivinar el protocolo que desea utilizar, y el valor predeterminado será HTTP .

Guardar la salida en un archivo

Para guardar el resultado del comando curl , use la opción -o u -O .

Minúscula -o guarda el archivo con un nombre de archivo predefinido, que en el siguiente ejemplo es vue-v2.6.10.js :

curl -o vue-v2.6.10.js

Mayúsculas -O guarda el archivo con su nombre de archivo original:

curl -O

Descargar múltiples archivos

Para descargar varios archivos a la vez, use múltiples opciones -O , seguidas de la URL del archivo que desea descargar.

En el siguiente ejemplo estamos descargando los archivos iso de Arch Linux y Debian:

curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \ -O

Reanudar una descarga

Puede reanudar una descarga utilizando la opción -C - . Esto es útil si su conexión se cae durante la descarga de un archivo grande, y en lugar de comenzar la descarga desde cero, puede continuar con el anterior.

Por ejemplo, si está descargando el archivo iso Ubuntu 18.04 con el siguiente comando:

curl -O

y de repente su conexión se cae, puede reanudar la descarga con:

curl -C - -O

Obtener los encabezados HTTP de una URL

Los encabezados HTTP son pares clave-valor separados por dos puntos que contienen información como agente de usuario, tipo de contenido y codificación. Los encabezados se pasan entre el cliente y el servidor con la solicitud o la respuesta.

Use la opción -I para recuperar solo los encabezados HTTP del recurso especificado:

curl -I --http2

La opción -L indica a curl que siga cualquier redireccionamiento hasta que llegue al destino final:

curl -L google.com

Cambiar el agente de usuario

A veces, al descargar un archivo, el servidor remoto puede configurarse para bloquear el Curl User-Agent o para devolver diferentes contenidos según el dispositivo visitante y el navegador.

En situaciones como esta para emular un navegador diferente, use la opción -A .

Por ejemplo, para emular Firefox 60, usaría:

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

Especifique una tasa de transferencia máxima

La opción --limit-rate permite limitar la velocidad de transferencia de datos. El valor puede expresarse en bytes, kilobytes con el sufijo k , megabytes con el sufijo m y gigabytes con el sufijo g .

En el siguiente ejemplo, curl descargará el binario Go y limitará la velocidad de descarga a 1 mb:

curl --limit-rate 1m -O

Esta opción es útil para evitar que el curl consuma todo el ancho de banda disponible.

Transferir archivos a través de FTP

Para acceder a un servidor FTP protegido con curl , use la opción -u y especifique el nombre de usuario y la contraseña como se muestra a continuación:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Una vez conectado, el comando enumera todos los archivos y directorios en el directorio de inicio del usuario.

Puede descargar un solo archivo del servidor FTP utilizando la siguiente sintaxis:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

Para cargar un archivo en el servidor FTP, use -T seguido del nombre del archivo que desea cargar:

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Enviar cookies

En ocasiones, es posible que deba realizar una solicitud HTTP con cookies específicas para acceder a un recurso remoto o para solucionar un problema.

Por defecto, cuando solicita un recurso con curl , no se envían ni almacenan cookies.

Para enviar cookies al servidor, use el -b seguido de un nombre de archivo que contenga las cookies o una cadena.

Por ejemplo, para descargar el archivo rpm JDK de Oracle Java jdk-10.0.2_linux-x64_bin.rpm , deberá pasar una cookie llamada oraclelicense con el valor a :

curl -L -b "oraclelicense=a" -O

Usando proxies

curl admite diferentes tipos de servidores proxy, incluidos HTTP, HTTPS y SOCKS. Para transferir datos a través de un servidor proxy, use la opción -x ( --proxy ), seguida de la URL del proxy.

El siguiente comando descarga el recurso especificado usando un proxy en el puerto 192.168.44.1 8888 :

curl -x 192.168.44.1:8888

Si el servidor proxy requiere autenticación, use la opción -U ( --proxy-user ) seguida del nombre de usuario y la contraseña separados por dos puntos ( user:password ):

curl -U username:password -x 192.168.44.1:8888

Conclusión

curl es una herramienta de línea de comandos que le permite transferir datos desde o hacia un host remoto. Es útil para solucionar problemas, descargar archivos y más.

Los ejemplos que se muestran en este tutorial son simples, pero demuestran las opciones de curl más utilizadas y están destinadas a ayudarlo a comprender cómo funciona el comando curl .

Para obtener más información sobre curl visite la página de documentación de Curl.

terminal de rizo