Commande cURL sous Linux avec 30 exemples pratiques

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&param2=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.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

Laissez un commentaire