GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser CURL comme un pro sous Linux

Il existe plusieurs façons de contrôler et de communiquer avec les données dans le terminal Linux et curl est la meilleure façon de le faire. curl est un outil en ligne de commande que vous pouvez utiliser pour transférer des données depuis ou vers un serveur. Vous pouvez utiliser le curl pour télécharger et charger des données à l'aide de l'un des protocoles pris en charge, à savoir FTP, HTTP, SFTP, HTTPS et SCP. Curl propose une gamme de fonctionnalités, notamment la possibilité de restreindre la bande passante, de reprendre les transferts, l'authentification des utilisateurs, la prise en charge des serveurs proxy et bien plus encore.

Ci-dessous la liste des protocoles actuellement supportés par le curl :

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

Les fonctionnalités supplémentaires incluent :

  • Authentification de l'utilisateur et du mot de passe
    • De base
    • Digest Plain
    • NTLM
    • CRAM-MD5
    • Kerberos
    • Négocier
  • Cookies
  • Tunnelisation proxy
  • Reprendre l'opération de transfert de fichiers
  • Certificats SSL
  • Téléchargement des formulaires HTTP et HTTPS

wget et curl sont souvent comparés car leurs fonctionnalités se chevauchent dans une certaine mesure. Les deux outils peuvent récupérer du contenu sur Internet, mais wget a plus de fonctionnalités comme le grattage Web, les téléchargements récursifs et il est plus convivial. wget est considéré comme une meilleure option si vous souhaitez uniquement télécharger des fichiers dans le terminal.

Apprendre curl Les bases de la commande vous aideront à télécharger et télécharger des fichiers avec des procédures d'authentification HTTP avancées. De plus, wget ne prend en charge que FTP et HTTP(S), tandis que curl prend en charge beaucoup plus de protocoles.

C'est tout à propos de curl commande. Passons maintenant directement au terminal.

Installation de "curl" sous Linux

Si vous n'avez pas curl sur votre système Linux, installez-le en utilisant la commande suivante. Sinon, ignorez les étapes d'installation et passez aux exemples.

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

Maintenant, vérifiez le curl est disponible sur votre système en vérifiant sa version :

curl --version

Exemples d'utilisation de 'curl'

Nous pouvons faire beaucoup de choses sympas en utilisant curl . Jetons un coup d'œil à certains d'entre eux.

Obtenir l'IP externe du serveur

Il existe une ressource incroyable sur Internet, qui vous permet d'obtenir votre adresse IP Internet - https://ifconfig.me (nommé à la gloire du célèbre utilitaire de configuration de réseau Linux - ifconfig ).

Si vous avez envoyé une requête HTTP à ce site à l'aide de curl, il vous renverra l'adresse IP externe dans le terminal sous la forme de la chaîne simple :

curl https://ifconfig.me

Ainsi, vous pouvez facilement mettre ce résultat dans la variable bash :

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

Voici le résultat :

Ici, -s l'argument permet d'éviter la sortie de la progression du téléchargement 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

Prévisions météo

Vous voulez vous sentir comme un hacker et afficher les informations météo directement dans le terminal ? Vous pouvez le faire en utilisant curl !

curl http://wttr.in/LOCATION

Enregistrement de la sortie "curl" dans un fichier texte

Vous pouvez enregistrer la sortie du curl commande au fichier spécifié.

Voici un exemple d'enregistrement de la sortie de l'API JSON (API de démonstration StarWars) dans le fichier :

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

curl est suffisamment intelligent pour détecter le téléchargement de fichiers binaires. Voici un exemple de téléchargement de Terraform, l'un des logiciels de gestion d'infrastructure en tant que code open source les plus populaires (en savoir plus sur 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

Télécharger plusieurs fichiers

Vous pouvez utiliser curl pour télécharger plusieurs fichiers à la fois. Ajoutez simplement -o argument autant de fois que nécessaire.

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

Limiter la vitesse de téléchargement

Une autre fonctionnalité utile de curl est la restriction de la vitesse de téléchargement du fichier. Vous pouvez le faire en utilisant le --limit-rate argument et en spécifiant le taux de vitesse :

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

La vitesse donnée est mesurée en octets/seconde, sauf si un suffixe est ajouté. Ajouter 'k' ou 'K' comptera le nombre en kilo-octets, 'm' ou M' en fait des mégaoctets, tandis que 'g' ou 'G' en fait des gigaoctets.

Liste des URL de téléchargement

Dans cet exemple, nous allons télécharger tous les fichiers répertoriés dans le fichier texte. Pour ce faire, vous devez utiliser une combinaison de xargs avec curl commandes :

xargs -n 1 curl -O < urllists.txt

Voici un résultat :

Authentification de base

Vous pouvez utiliser le -u argument pour fournir le nom d'utilisateur et le mot de passe pour l'authentification HTTP de base (authentification de base) :

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

Obtenir les en-têtes d'URL

Les en-têtes HTTP sont des paires clé-valeur séparées par des deux-points qui contiennent des informations telles que le type de contenu de ressource demandé, l'agent utilisateur, l'encodage, etc. Avec la demande ou la réponse, les en-têtes sont transférés entre le client et le serveur. Pour obtenir les informations d'en-tête de n'importe quel site Web, utilisez -I argument :

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

Utilisation des cookies

Lors de demandes ultérieures sur le même site Web, vous devrez peut-être utiliser les cookies.

Pour enregistrer les cookies reçus du serveur Web, utilisez la commande suivante :

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

Voici les arguments :

  • -s – mode silencieux, curl n'imprime pas les informations sur la progression du téléchargement
  • -o /dev/null – ne pas imprimer la sortie de la page Web sur le terminal
  • -c google_cookies.txt – enregistrer les informations sur les cookies dans le fichier

Pour utiliser les cookies reçus de la requête précédente, utilisez la commande suivante :

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

Vérification de la prise en charge de HTTP/2

Utilisez le -I , --http2 et -s options ensemble pour vérifier si le site spécifié prend en charge les en-têtes HTTP/2 :

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

Résumé

Dans cet article, nous avons couvert les exemples les plus couramment utilisés d'utilisation de curl commande. Nous espérons que cet article vous permettra de démarrer avec ce puissant utilitaire. Si vous aimez l'article, s'il vous plaît, aidez-nous à le diffuser dans le monde !


Linux
  1. Comment utiliser BusyBox sous Linux

  2. Comment j'utilise cron sous Linux

  3. Comment utiliser FIND sous Linux

  4. Comment utiliser Décompresser sous Linux

  5. Comment utiliser la commande Su sous Linux

Comment installer et utiliser Curl sur Debian 10 Linux

Comment utiliser l'écran Linux

Comment utiliser du Command sous Linux

Comment utiliser le terminal Linux dans Android

Comment utiliser la commande sysctl sous Linux

5 conseils pour utiliser la commande Linux SS comme un pro