La commande cURL sous Linux est un outil puissant pour transférer des données vers ou depuis un serveur à l'aide de divers protocoles, notamment HTTP, HTTPS, FTP, etc. Il est couramment utilisé pour automatiser les requêtes Web, tester les API et télécharger des fichiers depuis Internet. cURL est polyvalent et peut gérer un large éventail de tâches, du simple téléchargement de fichiers à la soumission de formulaires complexes en plusieurs parties.
Dans ce guide, nous explorerons 30 exemples pratiques d'utilisation de la commande cURL sous Linux. Ces exemples couvriront des cas d'utilisation courants, tels que le téléchargement de fichiers, l'envoi de données à des API, la gestion de l'authentification, etc., démontrant la flexibilité et la puissance de cURL pour diverses tâches.
La syntaxe de la commande cURL
Avant de procéder à la démonstration de 30 exemples avec la commande cURL, c'est une bonne idée de comprendre d'abord sa syntaxe :
curl [options] [URL]
Dans cette syntaxe :
- options : Ce sont les paramètres qui modifient le comportement de cURL.
- URL : il s'agit de l'adresse du fichier ou de la ressource avec laquelle vous souhaitez interagir.
Options de commande cURL
cURL propose de nombreuses options qui permettent de personnaliser son comportement. Voici quelques-unes des options les plus couramment utilisées :
- -O : télécharge le fichier à partir de l'URL spécifiée.
- -I : récupère l'en-tête HTTP du serveur.
- -u : Spécifie les informations d'identification de l'utilisateur pour l'authentification du serveur.
- -d : envoie les données spécifiées dans une requête POST au serveur.
- -x : Spécifie l'adresse proxy à utiliser pour les demandes.
30 exemples de commande cURL sous Linux
Voyons maintenant quelques exemples pratiques d'utilisation de la commande cURL. Chaque exemple sera précédé d'une explication suivie d'une démonstration du résultat.
Exemple 1 : Récupération de données à partir d'une URL
L'utilisation la plus basique de cURL consiste à récupérer le contenu d'une page Web. Voici comment procéder :
curl https://www.example.com
Cette commande récupère le contenu HTML de la page Web sur www.example.com.
Exemple 2 : Téléchargement d'un fichier
cURL peut également être utilisé pour télécharger des fichiers depuis Internet. Voici un exemple :
curl -O https://www.example.com/file.txt
Cette commande télécharge le fichier file.txt depuis www.example.com et l'enregistre dans le répertoire actuel.
Exemple 3 : Envoi d'une requête POST
Vous pouvez utiliser cURL pour envoyer des requêtes POST à un serveur. Voici comment procéder :
curl -d "param1=value1¶m2=value2" -X POST http://www.example.com
Cette commande envoie une requête HTTP POST à www.example.com avec les données param1=value1¶m2=value2.
Exemple 4 : récupération des en-têtes HTTP
Si vous souhaitez récupérer les en-têtes HTTP d'un serveur, vous pouvez utiliser l'option -I. Voici un exemple :
curl -I https://www.example.com
Cette commande récupère les en-têtes HTTP de www.example.com.
Exemple 5 : Utilisation d'un proxy
Si vous devez utiliser un proxy, spécifiez-le à l'aide de l'option -x. Voici comment procéder :
curl -x http://proxy.example.com:8080 https://www.example.com
Cette commande envoie la demande à www.example.com via le proxy à proxy.example.com:8080.
Exemple 6 : Envoi de cookies
Vous pouvez envoyer des cookies avec votre demande en utilisant l'option -b. Voici un exemple :
curl -b "name=value" https://www.example.com
Cette commande envoie un cookie avec nom=valeur à www.example.com.
Exemple 7 : Envoi d'un agent utilisateur
Les sites Web utilisent souvent l'agent utilisateur pour fournir un contenu adapté au navigateur du client. Pour envoyer un agent utilisateur avec votre demande, utilisez l'option -A :
curl -A "Mozilla/5.0" https://www.example.com
Cette commande envoie une requête à www.example.com avec l'agent utilisateur défini sur Mozilla/5.0.
Exemple 8 : suivre les redirections
Certaines URL redirigent vers d'autres URL. Pour suivre ces redirections, utilisez l'option -L :
curl -L https://www.example.com
Cette commande suit toutes les redirections de www.example.com.
Exemple 9 : enregistrement de la sortie dans un fichier
Pour enregistrer la sortie d'une commande cURL dans un fichier, utilisez l'option -o :
curl -o output.html https://www.example.com
Cette commande enregistre la sortie de www.example.com dans output.html.
Exemple 10 : Téléchargement de fichiers avec FTP
cURL peut télécharger des fichiers sur un serveur via FTP. Voici comment :
curl -T file.txt ftp://ftp.example.com --user username:password
Cette commande télécharge le fichier.txt sur ftp.example.com en utilisant le nom d'utilisateur et le mot de passe fournis.
Exemple 11 : Reprise d'un téléchargement
Si un téléchargement est interrompu, vous pouvez le reprendre avec l'option -C – :
curl -C - -O https://www.example.com/file.txt
Cette commande reprend le téléchargement du fichier.txt depuis www.example.com.
Exemple 12 : Téléchargement de plusieurs fichiers
Pour télécharger plusieurs fichiers, spécifiez plusieurs URL :
curl -O https://www.example.com/file1.txt -O https://www.example.com/file2.txt
Cette commande télécharge file1.txt et file2.txt depuis www.example.com.
Exemple 13 : Envoi d'une demande DELETE
Pour envoyer une requête DELETE, utilisez l'option -X DELETE :
curl -X DELETE https://www.example.com/resource
Cette commande envoie une requête DELETE à l'URL www.example.com/resource.
Exemple 14 : Sortie détaillée
Pour des informations détaillées sur la demande et la réponse, utilisez l'option -v :
curl -v https://www.example.com
Cette commande fournit une sortie détaillée pour la requête adressée à www.example.com.
Exemple 15 : Mode silencieux
Pour supprimer la jauge de progression et les messages d'erreur, utilisez l'option -s :
curl -s https://www.example.com
Cette commande récupère le contenu de www.example.com en mode silencieux.
Exemple 16 : Affichage de la progression du téléchargement
Pour afficher la progression du téléchargement dans un format plus lisible, utilisez l'option # :
curl -# -O https://www.example.com/file.txt
Cette commande télécharge le fichier.txt depuis www.example.com et affiche la progression sous forme de barre de progression.
Exemple 17 : Envoi de données JSON
Pour envoyer des données JSON dans une requête POST, utilisez l'option -H pour définir le type de contenu :
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST https://www.example.com
Cette commande envoie une requête POST avec des données JSON à www.example.com.
Exemple 18 : Utiliser cURL avec une API
cURL est souvent utilisé pour interagir avec les API. Voici un exemple :
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com
Cette commande envoie une requête à https://api.example.com avec un en-tête d'autorisation.
Exemple 19 : Téléchargement de fichiers en arrière-plan
Pour télécharger un fichier en arrière-plan, utilisez l'option -O avec une esperluette à la fin :
curl -O https://www.example.com/file.txt &
Cette commande télécharge le fichier.txt depuis www.example.com en arrière-plan.
Exemple 20 : Envoi de données à partir d'un fichier
Pour envoyer des données depuis un fichier dans une requête POST, utilisez le symbole @ :
curl -d @data.txt -X POST https://www.example.com
Cette commande envoie une requête POST avec les données de data.txt à www.example.com.
Exemple 21 : Récupération de contenu à partir d'un serveur FTP
cURL peut être utilisé pour récupérer du contenu à partir d'un serveur FTP. Voici comment procéder :
curl ftp://ftp.example.com/file.txt --user username:password
Cette commande récupère le fichier.txt depuis ftp.example.com en utilisant le nom d'utilisateur et le mot de passe fournis.
Exemple 22 : Récupération de contenu à partir d'un site Web protégé par mot de passe
Pour récupérer le contenu d'un site Web protégé par mot de passe, utilisez l'option -u :
curl -u username:password https://www.example.com
Cette commande récupère le contenu de www.example.com à l'aide du nom d'utilisateur et du mot de passe fournis.
Exemple 23 : Récupération de contenu à partir d'un site Web avec SSL
Pour récupérer le contenu d'un site Web avec SSL, utilisez l'option -k :
curl -k https://www.example.com
Cette commande récupère le contenu de www.example.com, en ignorant les avertissements du certificat SSL.
Exemple 24 : Envoi d'une requête PUT
Pour envoyer une requête PUT, utilisez l'option -X PUT :
curl -X PUT -d "data" https://www.example.com/resource
Cette commande envoie une requête PUT avec les données « data » à www.example.com/resource.
Exemple 25 : Récupération des en-têtes de réponse
Pour récupérer uniquement les en-têtes de réponse, utilisez l'option -I :
curl -I https://www.example.com
Cette commande récupère uniquement les en-têtes de réponse de www.example.com.
Exemple 26 : Récupérer du contenu à partir d'un site Web avec des cookies
Pour récupérer le contenu d'un site Web avec des cookies, utilisez l'option -b :
curl -b cookies.txt https://www.example.com
Cette commande récupère le contenu de www.example.com à l'aide des cookies stockés dans cookies.txt.
Exemple 27 : Récupération de contenu à partir d'un site Web avec des en-têtes personnalisés
Pour récupérer le contenu d'un site Web avec des en-têtes personnalisés, utilisez l'option -H :
curl -H "Custom-Header: Value" https://www.example.com
Exemple 28 : Récupération de contenu à partir d'un site Web avec un délai d'attente
Pour récupérer le contenu d'un site Web avec un délai d'attente, utilisez l'option -m :
curl -m 10 https://www.example.com
Cette commande récupère le contenu de www.example.com avec un délai d'attente de 10 secondes.
Exemple 29 : Récupération de contenu à partir d'un site Web en mode détaillé
Pour récupérer le contenu d'un site Web en mode détaillé, utilisez l'option -v :
curl -v https://www.example.com
Cette commande récupère le contenu de www.example.com en mode détaillé, affichant des informations détaillées sur la demande et la réponse.
Exemple 30 : Récupération de contenu à partir d'un site Web et affichage de la jauge de progression
Pour récupérer le contenu d'un site Web et afficher la jauge de progression, utilisez l'option -# :
curl -# https://www.example.com
Cette commande récupère le contenu de www.example.com et affiche la jauge de progression.
Conclusion
La maîtrise de la commande cURL avec ces exemples pratiques peut améliorer considérablement votre capacité à interagir avec les services Web, à automatiser les transferts de données et à résoudre les problèmes de réseau. Une pratique régulière avec différentes options et commandes cURL approfondira votre compréhension et vous permettra d'exploiter tout son potentiel dans vos flux de travail Linux. Profitez de la polyvalence et de l'efficacité que cURL apporte à votre boîte à outils de ligne de commande.