NOUVEAU ! |Un appel API, des données propres en retour. Aucun scraper nécessaire.Obtenez 10 000 jetons gratuits →

How to Send HTTP Headers With cURL: A Comprehensive Guide with Examples

Maîtrisez l'envoi et la réception d'en-têtes HTTP en utilisant cURL avec ce guide complet. Explorez des exemples, des en-têtes personnalisés et des conseils de dépannage.

Publié21 septembre 2023
Mis à jour28 mai 2025
Temps de lecture3 min

Envoyer des en-têtes HTTP avec cURL est une compétence fondamentale pour quiconque travaille avec des API ou des services web. Les en-têtes HTTP communiquent des informations essentielles sur votre requête, telles que le type de contenu, l’autorisation, et bien d’autres. cURL, un outil en ligne de commande puissant pour effectuer des requêtes HTTP, vous permet de personnaliser et d’envoyer ces en-têtes sans effort. Dans ce guide, nous vous guiderons à travers le processus d’envoi d’en-têtes HTTP avec cURL, complété par une variété d’exemples pratiques.

Comment envoyer des en-têtes HTTP avec cURL : un guide complet avec des exemples

Prérequis#

Avant de nous plonger dans les exemples, assurez-vous que cURL est installé sur votre système. Vous pouvez vérifier s’il est installé en exécutant :

curl --version

S’il n’est pas installé, vous pouvez le télécharger à partir du site officiel de cURL.

Syntaxe de base de cURL#

La syntaxe de base pour envoyer une requête HTTP avec cURL est :

curl [options] [URL]

Pour inclure des en-têtes HTTP dans votre requête, vous pouvez utiliser l’option -H ou –header suivie des informations d’en-tête.

Exemple 1 : Envoi d’une requête GET avec en-têtes personnalisés#

Commençons par une simple requête GET vers une API hypothétique, en incluant un en-tête personnalisé. Supposons que vous souhaitiez inclure un en-tête « Authorization » avec votre clé API.

curl -H "Authorization: Bearer YOUR_API_KEY" https://api.example.com/resource

Remplacez YOUR_API_KEY par votre clé API réelle.

Exemple 2 : Envoi d’une requête POST avec données JSON#

Dans cet exemple, nous enverrons une requête POST avec une charge utile JSON et un en-tête de type de contenu personnalisé.

curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "email": "[email protected]"}' https://api.example.com/users

Cette commande spécifie la méthode de requête comme POST (-X POST), définit le type de contenu sur JSON (-H « Content-Type: application/json »), et inclut les données JSON avec -d.

Exemple 3 : Définition de plusieurs en-têtes#

Vous pouvez inclure plusieurs en-têtes dans une seule requête cURL. Ici, nous envoyons une requête avec les en-têtes « Authorization » et « User-Agent ».

curl -H "Authorization: Bearer YOUR_API_KEY" -H "User-Agent: MyClient/1.0" https://api.example.com/resource

Exemple 4 : Envoi de cookies#

Pour envoyer des cookies avec votre requête, utilisez l’option -b ou –cookie suivie des données de cookie.

curl -b "session=12345; preferences=darkmode" https://api.example.com/dashboard

Cet exemple envoie deux cookies : « session » et « preferences ».

Exemple 5 : Suivre les redirections#

Par défaut, cURL ne suit pas les redirections HTTP. Pour activer le suivi des redirections, utilisez l’option -L ou –location.

curl -L https://example.com

Cette commande suivra les redirections et affichera le contenu de la page finale.

Exemple 6 : Envoyer un User-Agent personnalisé#

Vous pouvez définir un en-tête User-Agent personnalisé pour identifier votre requête.

curl -H "User-Agent: MyCustomApp/1.0" https://api.example.com/resource

Les en-têtes User-Agent personnalisés sont utiles lors de l’interaction avec des API qui nécessitent des agents utilisateurs spécifiques.

Exemple 7 : Envoyer des en-têtes de requête sans données#

Si vous devez envoyer un en-tête sans corps de requête, vous pouvez utiliser l’option -I ou –head.

curl -I https://api.example.com/resource

Cette commande envoie une requête HEAD, qui récupère uniquement les en-têtes et non le contenu réel.

Exemple 8 : Envoyer une authentification basique#

Pour envoyer les identifiants d’authentification HTTP Basic, vous pouvez inclure un en-tête « Authorization » avec votre nom d»utilisateur et votre mot de passe codés en Base64.

curl -H "Authorization: Basic BASE64_ENCODED_CREDENTIALS" https://api.example.com/resource

Remplacez BASE64_ENCODED_CREDENTIALS par votre nom d’utilisateur et votre mot de passe codés en Base64 (par exemple, username:password).

Exemple 9 : Débogage et mode détaillé#

Lors du dépannage de problèmes ou de l’inspection de la requête et de la réponse HTTP, vous pouvez utiliser le mode détaillé de cURL avec l’option -v ou –verbose.

curl -v https://api.example.com/resource

Cela affichera des informations détaillées sur la requête et la réponse, y compris les en-têtes.

L’envoi d’en-têtes HTTP avec cURL est une compétence cruciale pour travailler avec des services web et des API. Avec les exemples fournis dans ce guide, vous pouvez personnaliser vos demandes, gérer l’authentification, envoyer des cookies, et bien plus. À mesure que vous familiariserez avec les capacités de cURL, vous serez bien équipé pour interagir efficacement avec diverses services web.

Comment envoyer des en-têtes HTTP avec cURL : un guide complet avec des exemples