GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar CURL como un profesional en Linux

Hay varias formas de controlar y comunicarse con datos en la terminal de Linux y curl es la mejor manera de hacerlo. curl es una herramienta de línea de comandos que puede usar para transferir datos desde o hacia un servidor. Puedes usar el curl Comando para descargar y cargar datos utilizando cualquiera de los protocolos admitidos, que comprende FTP, HTTP, SFTP, HTTPS y SCP. Curl tiene una variedad de características, incluida la capacidad de restringir el ancho de banda, reanudar transferencias, autenticación de usuarios, compatibilidad con servidores proxy y mucho más.

A continuación se muestra la lista de protocolos compatibles actualmente con curl :

  • FTP/FTPS
  • Gopher
  • HTTP
  • HTTP/2
  • SMTP/SMTPS
  • IMAP/IMAPS
  • PYME
  • POP3/POP3S
  • RTMP
  • SCP
  • SFTP
  • RTSP
  • LDAP/LDAPS
  • Telnet y TFTP
  • RTSP

Las funciones adicionales incluyen:

  • Autenticación de usuario y contraseña
    • Básico
    • Digerido simple
    • NTLM
    • CRAM-MD5
    • Kerberos
    • Negociar
  • Galletas
  • Tunelización de proxy
  • Reanudar la operación de transferencia de archivos
  • Certificados SSL
  • Carga de formularios HTTP y HTTPS

wget y curl a menudo se comparan porque su funcionalidad se superpone hasta cierto punto. Ambas herramientas pueden recuperar contenido de Internet, pero wget tiene más funciones como web scraping, descargas recursivas y es más fácil de usar. wget se considera una mejor opción si solo desea descargar archivos en la terminal.

Aprendiendo curl Los conceptos básicos de comandos lo ayudarán a cargar y descargar archivos con procedimientos avanzados de autenticación HTTP. Además, wget solo admite FTP y HTTP(S), mientras que curl admite muchos más protocolos.

De eso se trata curl dominio. Ahora saltemos directamente a la terminal.

Instalación de 'curl' en Linux

Si no tienes curl en su sistema Linux, instálelo utilizando el siguiente comando. De lo contrario, omita los pasos de instalación y continúe con los ejemplos.

sudo apt-get update
sudo apt-get install curl -y

Ahora, verifica el curl está disponible en su sistema comprobando su versión:

curl --version

Ejemplos de uso de 'curl'

Podemos hacer muchas cosas geniales usando curl . Echemos un vistazo a algunos de ellos.

Obteniendo IP externa del servidor

Hay un recurso increíble en Internet que le permite obtener su dirección IP de Internet:https://ifconfig.me (nombrado en la gloria de la famosa utilidad de configuración de red de Linux:ifconfig) ).

Si enviaste una solicitud HTTP a ese sitio usando curl, te devolverá la dirección IP externa en la terminal en forma de cadena simple:

curl https://ifconfig.me

Entonces, puede poner fácilmente este resultado en la variable bash:

MY_EXTERNAL_IP=$(curl -s https://ifconfig.me)
echo $MY_EXTERNAL_IP

Aquí está el resultado:

Aquí, -s El argumento permite evitar la salida de progreso de descarga curl:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                  Dload  Upload   Total   Spent    Left  Speed
 100    12  100    12    0     0    181      0 --:--:-- --:--:-- --:--:--   181

Pronóstico del tiempo

¿Quieres sentirte como un hacker y mostrar la información meteorológica directamente en la terminal? Puedes hacerlo usando curl !

curl http://wttr.in/LOCATION

Guardar la salida 'curl' en un archivo de texto

Puede guardar la salida del curl comando al archivo especificado.

Este es un ejemplo de cómo guardar la salida de la API JSON (API de demostración de StarWars) en el archivo:

curl https://swapi.dev/api/planets/1/ -o Tatooine.json

curl es lo suficientemente inteligente como para detectar la descarga de archivos binarios. Este es un ejemplo de la descarga de uno de los software de administración de infraestructura como código de código abierto más populares, Terraform (obtenga más información sobre Terraform):

curl https://releases.hashicorp.com/terraform/0.15.0/terraform_0.15.0_linux_amd64.zip -o terraform_0.15.0_linux_amd64.zip

Descargando varios archivos

Puedes usar curl para descargar varios archivos a la vez. Solo agrega -o argumento tantas veces como necesites.

curl -o https://example.com/files/file-1 -o file-2 https://example.com/files/file-2 -o file-3 https://example.com/files/file-3

Limitación de la velocidad de descarga

Otra característica útil de curl es la restricción de la velocidad de descarga de archivos. Puedes hacerlo usando el --limit-rate argumento y especificando la tasa de velocidad:

curl --limit-rate 1M -O https://releases.hashicorp.com/terraform/0.15.0/terraform_0.15.0_linux_amd64.zip

La velocidad dada se mide en bytes/segundo, a menos que se agregue un sufijo. Agregar 'k' o 'K' contará el número como kilobytes, 'm' o M' lo convierte en megabytes, mientras que 'g' o 'G' lo convierte en gigabytes.

Lista de URL de descarga

En este ejemplo, descargaremos todos los archivos enumerados en el archivo de texto. Para hacer eso necesitas usar una combinación de xargs con curl comandos:

xargs -n 1 curl -O < urllists.txt

Aquí hay una salida:

Autenticación básica

Puedes usar el -u argumento para proporcionar el nombre de usuario y la contraseña para la autenticación HTTP básica (autenticación básica):

curl -u username:password -O https://example.com/files/README

Obtención de los encabezados de URL

Los encabezados HTTP son pares clave-valor separados por dos puntos que contienen información como el tipo de contenido del recurso solicitado, el agente de usuario, la codificación, etc. Con la solicitud o respuesta, los encabezados se transfieren entre el cliente y el servidor. Para obtener la información de los encabezados de cualquier sitio web, use -I argumento:

curl -I https://hands-on.cloud

Uso de cookies

En solicitudes posteriores al mismo sitio web, es posible que deba utilizar las cookies.

Para guardar las cookies recibidas del servidor web, utilice el siguiente comando:

curl -s -o /dev/null -c google_cookies.txt 'https://www.google.com'

Aquí los argumentos son:

  • -s – modo silencioso, curl no imprime la información de progreso de la descarga
  • -o /dev/null – no imprima la salida de la página web en el terminal
  • -c google_cookies.txt – guardar información de cookies en el archivo

Para usar las cookies recibidas de la solicitud anterior, use el siguiente comando:

curl -b google_cookies.txt 'https://www.google.com'

Comprobando la compatibilidad con HTTP/2

Utilice el -I , --http2 y -s opciones juntas para verificar si el sitio especificado admite encabezados HTTP/2:

curl -I --http2 -s https://hands-on.cloud/ | grep HTTP

Resumen

En este artículo, cubrimos los ejemplos más utilizados del uso de curl dominio. Esperamos que este artículo le permita comenzar con esta poderosa utilidad. Si te gusta el artículo, ¡ayúdanos a difundirlo por todo el mundo!


Linux
  1. Cómo usar BusyBox en Linux

  2. Cómo uso cron en Linux

  3. Cómo usar BUSCAR en Linux

  4. Cómo usar Descomprimir en Linux

  5. Cómo usar el comando Su en Linux

Cómo instalar y usar Curl en Debian 10 Linux

Cómo usar la pantalla de Linux

Cómo usar du Command en Linux

Cómo usar la terminal de Linux en Android

Cómo usar el comando sysctl en Linux

5 consejos para usar el comando SS de Linux como un profesional