El comando Curl en Linux con ejemplos

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 proporciona una serie de opciones que le permiten reanudar las transferencias, limitar el ancho de banda, Soporte de proxy, autenticación de usuario y mucho más.,

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

instalando Curl #

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

para comprobar si el paquete Curl está instalado en su sistema, abra la consola, escriba curl y presione ENTRAR. Si usted tiene curl instalado, el sistema de impresión curl: try 'curl --help' or 'curl --manual' for more information. De lo contrario, verá algo como curl command not found.,

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

Instalar Curl en Ubuntu y Debian #

sudo apt updatesudo apt install curl

Instalar Curl en CentOS y Fedora #

sudo yum install curl

Cómo Utilizar Curl #

La sintaxis de la etiqueta curl comando es como sigue:

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 example.com debe ejecutar:

curl example.com

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

si no se especifica ningún protocolo, curlintenta adivinar el protocolo que desea usar, y por defecto será HTTP.

Guardar la Salida en un Archivo #

Para guardar el resultado de la curl comando, utilice el -o o -O opción.,

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

curl -o vue-v2.6.10.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js

mayúscula -O archivo con su nombre de archivo original:

curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js

descargar varios archivos #

para descargar varios archivos a la vez, utilice varias opciones -O, seguido de la URL del archivo que desea descargar.,

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

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 iniciar la descarga desde cero, puede continuar con el anterior.

por ejemplo, si está descargando Ubuntu 18.,04 archivo iso usando el siguiente comando:

curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

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

curl -C - -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

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.,él especificó el recurso:

curl -I --http2 https://www.ubuntu.com/

pruebe si un sitio web admite HTTP/2 #

para verificar si una URL en particular admite el nuevo protocolo HTTP/2 , obtenga los encabezados HTTP con -I junto con la opción --http2:

curl -I --http2 -s https://linuxize.com/ | grep HTTP

la opción -s le dice a curl que se ejecute en silencio (silencioso) y oculte el medidor de progreso y los mensajes de error.,

si el servidor remoto admite HTTP/2, curl imprime HTTP/2.0 200:

HTTP/2 200

de lo contrario, la respuesta es HTTP/1.1 200:

HTTP/1.1 200 OK

Si tiene la versión curl 7.47.0 o una versión más reciente, no necesita usar la opción --http2 porque HTTP/2 está habilitado de forma predeterminada para todas las conexiones HTTPS.

Follow Redirects #

de forma predeterminada, curl no sigue los encabezados de ubicación HTTP.,la página será redirigida a la versión www:

curl google.com

la opción-Lindica acurl que siga cualquier redirección hasta que llegue al destino final:

curl -L google.com

cambie el agente de usuario #

a veces, al descargar un archivo, el servidor remoto puede configurarse para bloquear el agente de usuario curl o para devolver diferentes contenidos dependiendo del dispositivo y el navegador del visitante.,

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

por ejemplo, Para emula Firefox 60 se debería utilizar:

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

Especifica una Velocidad de Transferencia Máxima #

El --limit-rate opción le permite limitar la tasa de transferencia de datos. El valor se puede expresar 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 https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

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

transferir archivos a través de FTP #

para acceder a un servidor FTP protegido con curl, utilice 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/

archivos y directorios en el directorio personal del usuario.,

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

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

para cargar un archivo al servidor FTP, utilice el -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 #

a veces es posible que deba realizar una solicitud http con cookies específicas para acceder a un recurso remoto o para depurar un problema.

de forma predeterminada, al solicitar un recurso con curl, no se envían ni almacenan cookies.,

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

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

usando Proxies #

curl soporta diferentes tipos de proxies, incluyendo HTTP, HTTPS y Socks., Para transferir datos a través de un servidor proxy, utilice la opción -x (--proxy), seguida de la URL del proxy.,

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

curl -x 192.168.44.1:8888 http://linux.com/

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

curl -U username:password -x 192.168.44.1:8888 http://linux.com/

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 curl más utilizadas y están destinados a ayudarlo a comprender cómo funciona el comando curl.

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

Deja una respuesta

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