Android

Commande curl sous linux avec des exemples

Linux/Mac Terminal Tutorial: How To Use The cURL Command

Linux/Mac Terminal Tutorial: How To Use The cURL Command

Table des matières:

Anonim

curl est un utilitaire de ligne de commande pour transférer des données depuis ou vers un serveur conçu pour fonctionner sans interaction de l'utilisateur. Avec curl , vous pouvez télécharger ou télécharger des données à l'aide de l'un des protocoles pris en charge, notamment HTTP, HTTPS, SCP, SFTP et FTP. curl fournit un certain nombre d'options vous permettant de reprendre les transferts, de limiter la bande passante, la prise en charge du proxy, l'authentification des utilisateurs et bien plus encore.

Dans ce didacticiel, nous allons vous montrer comment utiliser l'outil curl à travers des exemples pratiques et des explications détaillées des options de curl les plus courantes.

Installation de Curl

Le paquet curl est préinstallé sur la plupart des distributions Linux aujourd'hui.

Pour vérifier si le package Curl est installé sur votre système, ouvrez votre console, tapez curl et appuyez sur Entrée. Si curl installé, le système imprimera curl: try 'curl --help' or 'curl --manual' for more information . Sinon, vous verrez quelque chose comme la curl command not found .

Si curl n'est pas installé, vous pouvez facilement l'installer en utilisant le gestionnaire de paquets de votre distribution.

Installer Curl sur Ubuntu et Debian

sudo apt update sudo apt install curl

Installer Curl sur CentOS et Fedora

sudo yum install curl

Comment utiliser Curl

La syntaxe de la commande curl est la suivante:

curl

Dans sa forme la plus simple, lorsqu'elle est invoquée sans aucune option, curl affiche la ressource spécifiée dans la sortie standard.

Par exemple, pour récupérer la page d'accueil example.com vous devez exécuter:

curl example.com

La commande imprimera le code source de la page d'accueil example.com dans votre fenêtre de terminal.

Si aucun protocole n'est spécifié, curl essaie de deviner le protocole que vous souhaitez utiliser et il sera par défaut HTTP .

Enregistrer la sortie dans un fichier

Pour enregistrer le résultat de la commande curl , utilisez l'option -o ou -O .

-O en minuscule enregistre le fichier avec un nom de fichier prédéfini, qui dans l'exemple ci-dessous est vue-v2.6.10.js :

curl -o vue-v2.6.10.js

-O majuscule enregistre le fichier avec son nom de fichier d'origine:

curl -O

Télécharger plusieurs fichiers

Pour télécharger plusieurs fichiers à la fois, utilisez plusieurs options -O , puis l'URL du fichier que vous souhaitez télécharger.

Dans l'exemple suivant, nous téléchargeons les fichiers iso Arch Linux et Debian:

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

Reprendre un téléchargement

Vous pouvez reprendre un téléchargement en utilisant l'option -C - . Ceci est utile si votre connexion tombe pendant le téléchargement d'un fichier volumineux, et au lieu de démarrer le téléchargement à partir de zéro, vous pouvez continuer le précédent.

Par exemple, si vous téléchargez le fichier iso Ubuntu 18.04 à l'aide de la commande suivante:

curl -O

et soudain votre connexion baisse, vous pouvez reprendre le téléchargement avec:

curl -C - -O

Obtenez les en-têtes HTTP d'une URL

Les en-têtes HTTP sont des paires clé-valeur séparées par deux-points contenant des informations telles que l'agent utilisateur, le type de contenu et le codage. Les en-têtes sont transmis entre le client et le serveur avec la demande ou la réponse.

Utilisez l'option -I pour extraire uniquement les en-têtes HTTP de la ressource spécifiée:

curl -I --http2

L'option -L indique à curl de suivre toute redirection jusqu'à ce qu'elle atteigne la destination finale:

curl -L google.com

Changer l'agent utilisateur

Parfois, lors du téléchargement d'un fichier, le serveur distant peut être configuré pour bloquer l'agent utilisateur Curl ou pour renvoyer des contenus différents en fonction de l'appareil visiteur et du navigateur.

Dans des situations comme celle-ci pour émuler un autre navigateur, utilisez l'option -A .

Par exemple, pour émuler Firefox 60, vous utiliseriez:

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

Spécifiez un taux de transfert maximum

L'option --limit-rate vous permet de limiter le taux de transfert de données. La valeur peut être exprimée en octets, kilo-octets avec le suffixe k , mégaoctets avec le suffixe m et gigaoctets avec le suffixe g .

Dans l'exemple suivant, curl téléchargera le binaire Go et limitera la vitesse de téléchargement à 1 Mo:

curl --limit-rate 1m -O

Cette option est utile pour éviter que la curl consomme toute la bande passante disponible.

Transférer des fichiers via FTP

Pour accéder à un serveur FTP protégé avec curl , utilisez l'option -u et spécifiez le nom d'utilisateur et le mot de passe comme indiqué ci-dessous:

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

Une fois connecté, la commande répertorie tous les fichiers et répertoires du répertoire personnel de l'utilisateur.

Vous pouvez télécharger un seul fichier depuis le serveur FTP en utilisant la syntaxe suivante:

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

Pour télécharger un fichier sur le serveur FTP, utilisez le -T suivi du nom du fichier que vous souhaitez télécharger:

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

Envoyer des cookies

Parfois, vous devrez peut-être effectuer une demande HTTP avec des cookies spécifiques pour accéder à une ressource distante ou pour déboguer un problème.

Par défaut, lors de la demande d'une ressource avec curl , aucun cookie n'est envoyé ou stocké.

Pour envoyer des cookies au serveur, utilisez le commutateur -b suivi d'un nom de fichier contenant les cookies ou une chaîne.

Par exemple, pour télécharger le fichier rpm Oracle Java JDK jdk-10.0.2_linux-x64_bin.rpm vous devez passer un cookie nommé oraclelicense avec la valeur a :

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

Utilisation de procurations

curl prend en charge différents types de proxys, notamment HTTP, HTTPS et SOCKS. Pour transférer des données via un serveur proxy, utilisez l'option -x ( --proxy ), suivie de l'URL du proxy.

La commande suivante télécharge la ressource spécifiée en utilisant un proxy sur le port 192.168.44.1 8888 :

curl -x 192.168.44.1:8888

Si le serveur proxy nécessite une authentification, utilisez l'option -U ( --proxy-user ) suivie du nom d'utilisateur et du mot de passe séparés par deux points ( user:password ):

curl -U username:password -x 192.168.44.1:8888

Conclusion

curl est un outil en ligne de commande qui vous permet de transférer des données depuis ou vers un hôte distant. Il est utile pour résoudre les problèmes, télécharger des fichiers, etc.

Les exemples présentés dans ce didacticiel sont simples, mais illustrent les options de curl les plus utilisées et sont destinés à vous aider à comprendre le fonctionnement de la commande curl .

Pour plus d'informations sur curl visitez la page Documentation Curl.

terminal de curl