Créateur de commandes cURL pour les requêtes HTTP et les API
Préparez une commande cURL pour une requête HTTP sans mémoriser ses options. Saisissez une URL, choisissez les paramètres de la requête et copiez la commande dans votre terminal. Le générateur prépare la commande ; vous décidez quand l’exécuter.
Chargement de l'outil…
Qu’est-ce qu’une commande cURL ?
cURL est un outil en ligne de commande qui permet de transférer des données. Pour HTTP, une commande décrit l’URL, la méthode, les en-têtes et l’éventuel corps de la requête. Une commande réutilisable est pratique pour explorer une API, reproduire une requête ou partager un petit exemple avec un collègue.
La commande utilise les règles de citation du shell pour préserver les valeurs littérales, y compris les apostrophes et les signes dollar. Le corps est du texte littéral, pas un nom de fichier ; il n’est ni validé automatiquement comme JSON ni encodé comme URL. HEAD récupère les en-têtes de réponse sans corps de réponse. GET et HEAD omettent le brouillon du corps ; il réapparaît lorsque vous revenez à une autre méthode.
Options de base
Vous préparez les identifiants de votre propre compte de test ? Le générateur de mots de passe et de phrases de passe propose des longueurs et des caractères personnalisables. Configurez le résultat sur votre service avant de l’utiliser : il ne crée pas de compte et ne délivre pas de jeton d’API. Retirez les identifiants des commandes et journaux que vous partagez.
| Option | Utilité |
|---|---|
| Méthode et URL | Choisir la méthode de requête et la destination. |
| Content-Type | Choisir JSON, du texte encodé comme formulaire, du texte brut ou la valeur par défaut de cURL. Pour un corps, cURL utilise normalement application/x-www-form-urlencoded par défaut. |
| Accepter les réponses JSON | Ajouter Accept: application/json. |
| En-têtes personnalisés | Ajouter jusqu’à 10 en-têtes, pour un total de 8 192 caractères. Les valeurs vides et les noms en double sont refusés. |
| Corps de la requête | Inclure jusqu’à 65 536 caractères de texte littéral. Les tabulations et sauts de ligne sont autorisés ; les autres caractères de contrôle sont refusés. |
| Accepter les certificats autosignés | Ajouter --insecure, qui désactive la vérification des certificats TLS et des noms d’hôte, pas seulement le refus des certificats autosignés. Laisser cette option désactivée en usage normal. |
| Sortie détaillée | Ajouter --verbose pour afficher les détails de connexion et les en-têtes. Vérifier les journaux avant de les partager, car ils peuvent contenir des identifiants. |
| Options courtes | Utiliser -X, -I, -H, -k et -v à la place des formes longues. Placer l’URL entre quotes à la fin, sans --url. --data-raw reste inchangé pour qu’un corps commençant par @ soit traité comme du texte. |
| Sortie sur une seule ligne | Produire une seule ligne physique, avec la syntaxe de citation Bash/Zsh pour préserver les sauts de ligne du corps. |
Ouvrez Options avancées pour régler le style des options, la présentation de la commande, la désactivation des vérifications TLS et la sortie détaillée. Cette section est initialement repliée : les options longues lisibles, la sortie sur plusieurs lignes et les vérifications normales des certificats sont sélectionnées. La méthode, l’URL, les préréglages d’en-têtes, les en-têtes personnalisés et la commande restent visibles ; l’éditeur du corps apparaît pour les méthodes qui le prennent en charge.
Les limites des en-têtes et du corps comptent les unités de chaîne JavaScript ; certains caractères, comme les émojis, en occupent deux. Aucune limite de longueur ni contrainte de format n’est imposée aux URL : cURL les interprète à l’exécution. Le générateur n’exécute ni ne teste la requête, et la commande ne suit pas automatiquement les redirections. Exécuter la commande copiée contacte la destination avec les options choisies. Les commandes contenant des secrets peuvent rester dans l’historique du terminal.
Utilisez Effacer la requête à côté de l’URL pour réinitialiser toutes les options, ou effacez les en-têtes personnalisés et le corps séparément. Recharger la page abandonne également la requête. Si la copie est indisponible, sélectionnez la commande générée et copiez-la manuellement.
Exemples de requêtes
Pour récupérer une page, choisissez GET et saisissez une URL. La commande générée est équivalente à :
curl --url 'https://example.com/'
Pour une requête JSON, choisissez POST, sélectionnez application/json et saisissez {"name":"Example"} comme corps :
curl --request 'POST' \
--url 'https://example.com/api/items' \
--header 'Content-Type: application/json' \
--data-raw '{"name":"Example"}'
Avec Options courtes, la même requête devient :
curl -X 'POST' \
-H 'Content-Type: application/json' \
--data-raw '{"name":"Example"}' \
'https://example.com/api/items'
cURL accepte une URL sans --url ; le générateur la place à la fin pour faciliter la lecture. Si la valeur saisie commence par un tiret, il ajoute -- devant pour que cURL la traite comme une URL et non comme une option. Cela ne rend pas valide une URL incorrecte.
Ces URL servent d’illustration et ne constituent pas une API fonctionnelle. Remplacez-les par un point d’accès que vous êtes autorisé à utiliser. Le générateur n’envoie aucun de ces exemples.
Comment utiliser cet outil
- Choisissez une méthode et saisissez l’URL. Utilisez GET pour récupérer une ressource ou choisissez la méthode requise par votre API. Indiquez l’URL complète, par exemple
https://example.com/api/items. - Définissez les en-têtes si nécessaire. Pour du JSON, sélectionnez application/json sous Content-Type. Accepter les réponses JSON demande une réponse JSON. Ajoutez les en-têtes personnalisés sous la forme
Name: value, un par ligne ; ne répétez pas un nom déjà fourni par un préréglage. - Saisissez un corps lorsque la méthode le permet. Pour un POST JSON, saisissez par exemple
{"name":"Example"}. Le générateur le traite comme du texte littéral et ne valide pas le JSON. GET et HEAD omettent le corps ; revenir à une autre méthode restaure votre brouillon. - Vérifiez la commande générée. Elle se met à jour pendant la saisie. Corrigez les erreurs des champs pour rétablir la sortie. Dépliez Options avancées et choisissez Options courtes pour des options compactes avec l’URL à la fin, ou Sortie sur une seule ligne pour une ligne physique unique.
- Copiez la commande et exécutez-la. Sélectionnez Copier la commande, puis collez-la dans un terminal où cURL est installé. La sortie par défaut fonctionne dans les shells POSIX comme Bash ou Zsh ; la sortie sur une seule ligne nécessite Bash ou Zsh. Aucun format n’est destiné à PowerShell ni à l’invite de commandes Windows. Le générateur lui-même n’envoie pas la requête.
Utilisez Effacer la requête à côté de l’URL pour recommencer. Laissez Accepter les certificats autosignés désactivé, sauf si vous travaillez dans un environnement de test de confiance. Les journaux de Sortie détaillée peuvent contenir des secrets.
Vos données restent dans votre navigateur
Cet outil traite vos données sur votre appareil. Le texte, les fichiers ou les mots de passe saisis et les résultats produits ne sont envoyés ni à nos serveurs ni à un autre serveur.
Le chargement des pages et de leurs ressources génère des requêtes. En production, les pages chargent aussi Google Tag Manager, Cloudflare Web Analytics et les publicités AdSense ; le code des outils ne transmet ni vos saisies ni vos résultats aux services de mesure ou de publicité. Consultez notre politique de confidentialité.
Pour examiner les requêtes pendant l'utilisation de l'outil, ouvrez les outils de développement de votre navigateur, puis l'onglet Réseau. Faites un essai avec des données fictives.
Consultez Comment examiner les requêtes réseau dans Chrome, Firefox, Edge et Safari.
Pour aller plus loin
- Manuel officiel de cURL (en anglais) - description détaillée des options, comportement du corps de requête et exemples en ligne de commande.