Linux/Mac Terminal Tutorial: How To Use The cURL Command
Table des matières:
- Installation de Curl
- Installer Curl sur Ubuntu et Debian
- Installer Curl sur CentOS et Fedora
- Comment utiliser Curl
- Enregistrer la sortie dans un fichier
- Télécharger plusieurs fichiers
- Reprendre un téléchargement
- Obtenez les en-têtes HTTP d'une URL
- Changer l'agent utilisateur
- Spécifiez un taux de transfert maximum
- Transférer des fichiers via FTP
- Envoyer des cookies
- Utilisation de procurations
- Conclusion
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
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:
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:
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:
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.
Commande Echo sous Linux avec des exemples
La commande echo est l'une des commandes les plus élémentaires et les plus utilisées de Linux. Les arguments passés à echo sont imprimés sur la sortie standard.
Commande tr sous linux avec des exemples
Tr est un utilitaire de ligne de commande dans les systèmes Linux et Unix qui traduit, supprime et serre les caractères de l'entrée standard et écrit le résultat dans la sortie standard.
Commande wget sous linux avec des exemples
GNU Wget est un utilitaire en ligne de commande pour télécharger des fichiers depuis le Web. Dans ce tutoriel, nous allons vous montrer comment utiliser la commande Wget à travers des exemples pratiques et des explications détaillées des options Wget les plus courantes.