Constructeur de requêtes HTTP / cURL

Créez visuellement des requêtes HTTP et exportez-les vers cURL, fetch, axios, Node http, Python requests, PHP curl, Go net/http et HTTPie.

Mis à jour le

Share:
Home/Developer Tools/HTTP Request / cURL Builder

HTTP Request / cURL Builder

Visually build HTTP requests and export to cURL, fetch, axios, Python, PHP, Go, and HTTPie.

Quick Presets

Request

https://api.example.com/users

Output

curl -X GET 'https://api.example.com/users' \
  -H 'Accept: application/json' \
  -L

Request Summary

GET
https://api.example.com/users
0 params
1 headers

Questions Fréquentes

Que fait cet outil ?

Il vous permet de configurer visuellement la méthode, l'URL, les paramètres de requête, les en-têtes, l'authentification et le corps, puis exporte le code équivalent pour 8 langages/clients, dont cURL, fetch/axios en JS, Python, PHP, Go et HTTPie.

Est-ce confidentiel ?

Oui, c'est entièrement gratuit, sans inscription, et tout se passe directement dans votre navigateur. Rien de ce que vous saisissez n'est envoyé à un serveur.

Quels types d'authentification ?

Aucune, HTTP Basic (utilisateur/mot de passe), Bearer Token et API Key (envoyée comme en-tête ou comme paramètre de requête).

Le HTTP Request / cURL Builder est-il gratuit ?

Oui, le HTTP Request / cURL Builder est 100 % gratuit, sans inscription, sans frais cachés et sans limite d'utilisation. Tout le traitement se fait localement dans votre navigateur, garantissant une confidentialité totale.

Mes données sont-elles en sécurité avec cet outil ?

Absolument. Le HTTP Request / cURL Builder traite tout côté client, dans votre navigateur. Aucune donnée n'est envoyée ni stockée sur un serveur. Votre contenu reste privé sur votre appareil à tout moment.

Le HTTP Request / cURL Builder fonctionne-t-il sur les appareils mobiles ?

Oui, le HTTP Request / cURL Builder est entièrement responsive et fonctionne sur smartphones et tablettes. Vous pouvez l'utiliser sur n'importe quel appareil doté d'un navigateur web moderne, sans aucune application à télécharger.

Dois-je créer un compte pour utiliser cet outil ?

Aucun compte ni aucune inscription n'est nécessaire. Ouvrez simplement le HTTP Request / cURL Builder dans votre navigateur et commencez à l'utiliser immédiatement. Il n'y a aucune barrière d'inscription ni restriction d'utilisation.

Quels langages de programmation ou formats sont pris en charge ?

Le HTTP Request / cURL Builder prend en charge un large éventail de formats et de langages populaires. Consultez l'interface de l'outil pour voir la liste complète des options prises en charge.

Comment utiliser le HTTP Request / cURL Builder ?

Saisissez simplement vos données dans le champ prévu, ajustez les réglages selon vos préférences, et l'outil les traitera instantanément. Vous pouvez ensuite copier le résultat dans le presse-papiers ou le télécharger.

Quels navigateurs sont pris en charge ?

Le HTTP Request / cURL Builder fonctionne sur tous les navigateurs modernes, dont Chrome, Firefox, Safari, Edge et Opera. Pour une expérience optimale, utilisez la dernière version de votre navigateur préféré.

Quelle est la différence entre curl -d et -F pour envoyer un corps de requête ?

Les deux options envoient des données avec une requête, mais elles les encodent différemment. Le flag -d envoie un corps application/x-www-form-urlencoded, où les paires sont assemblées sous la forme clé=valeur&clé=valeur, ce qui correspond à ce qu'attendent la plupart des formulaires simples et des API JSON. Le flag -F envoie du multipart/form-data, le format utilisé par les navigateurs pour l'envoi de fichiers ; chaque champ devient sa propre partie délimitée par des frontières, et un fichier se référence avec file=@chemin. Se tromper d'option est une cause fréquente de rejet du corps de la requête ou de fichier ignoré par le serveur. Dans ce générateur, vous choisissez directement le type de corps plutôt que de retenir les flags : sélectionnez Form URL-encoded pour obtenir le comportement de -d, ou Multipart pour obtenir -F avec la prise en charge de file=@chemin. L'en-tête Content-Type correspondant est défini automatiquement, si bien que le code cURL, Python ou fetch généré encode toujours le corps de la manière attendue par l'API.

Quelle est la différence entre l'authentification Bearer Token, HTTP Basic et API Key ?

Ce sont trois façons courantes de prouver l'identité de l'appelant d'une requête. HTTP Basic envoie un nom d'utilisateur et un mot de passe encodés ensemble dans un en-tête Authorization, ce qui devient -u user:pass en cURL. Un Bearer Token envoie une seule chaîne secrète sous la forme Authorization: Bearer <token>, typique des API protégées par OAuth ou JWT. Une API Key est un secret nommé fourni par le service, envoyé soit dans un en-tête personnalisé comme X-API-Key, soit ajouté à l'URL comme paramètre de requête, selon ce que documente l'API. Choisir le mauvais schéma ou le mauvais emplacement est une cause fréquente de réponses 401. Ce générateur propose les trois options plus Aucune : choisissez le type, renseignez les valeurs, et pour une clé d'API, précisez en-tête ou paramètre de requête. Le code généré traduit correctement chaque schéma dans tous les formats de sortie, de -u en cURL à SetBasicAuth en Go.

Pourquoi ma commande curl casse-t-elle quand le corps JSON contient des guillemets ?

Une commande cURL est une seule chaîne shell : chaque guillemet double présent dans un corps JSON doit donc être échappé, faute de quoi le shell termine l'argument trop tôt et signale une erreur de syntaxe. Sur macOS et Linux, on entoure souvent le JSON de guillemets simples pour éviter ce problème, mais cela échoue dès que les données elles-mêmes contiennent une apostrophe, et Windows gère les guillemets encore différemment. Compter et échapper les guillemets à la main dans une charge utile longue est exactement là où ces commandes ont tendance à casser silencieusement. Ce générateur contourne le problème : vous collez du JSON brut, non échappé, dans le champ Body, et il génère une commande correctement mise entre guillemets avec l'échappement adapté au shell. Comme le même corps structuré est réutilisé pour chaque sortie, les versions fetch, Python requests et Go restent également valides, vous évitant ainsi de traquer un guillemet égaré d'un langage à l'autre.

Que font réellement les flags curl -L, -k, -s et -v ?

Ce sont des options avancées courantes. -L (--location) indique à cURL de suivre les redirections, si bien qu'une réponse 301 ou 302 est poursuivie jusqu'à sa destination finale au lieu de renvoyer simplement la redirection. -k (--insecure) ignore la vérification du certificat TLS, utile face à un serveur local avec un certificat auto-signé, mais dangereux pour du trafic en production. -s (--silent) masque la barre de progression et les messages d'erreur pour une sortie propre et scriptable, tandis que -v (--verbose) fait l'inverse en affichant l'intégralité des en-têtes de requête et de réponse pour déboguer ce qui a réellement été envoyé. Il existe aussi --max-time pour limiter la durée maximale d'une requête. Plutôt que de les mémoriser, activez-les sous forme de cases à cocher dans les options avancées de ce générateur et définissez un délai en secondes ; la commande cURL générée inclut exactement les flags que vous avez activés, avec des équivalents adaptés dans les autres formats de sortie.

Comment convertir une commande curl en code Python, JavaScript fetch ou Go ?

La méthode fiable consiste à reconstruire la requête à partir de ses éléments plutôt que d'analyser la chaîne brute, car la syntaxe curl ne se transpose pas terme à terme dans chaque langage. Identifiez la méthode, l'URL complète avec ses paramètres de requête, chaque en-tête, le schéma d'authentification et le type de corps, puis exprimez ces éléments dans le client cible : requests en Python, fetch ou axios en JavaScript, le module https de Node, les fonctions curl de PHP, net/http en Go, ou HTTPie. Faire cela à la main est source d'erreurs, en particulier pour l'authentification et l'encodage du corps. Ce générateur rend l'opération mécanique : saisissez la requête une seule fois dans le formulaire, puis changez d'onglet de sortie pour lire le même appel dans l'un des huit formats. Chaque version reflète fidèlement votre configuration plutôt qu'un exemple générique, si bien que l'authentification Basic devient auth=(user, pass) en Python et SetBasicAuth en Go. Copiez n'importe quel onglet, ou téléchargez-le sous forme de fichier .py, .js, .php ou .go.

À propos du générateur de requêtes HTTP / cURL

Le générateur de requêtes HTTP / cURL est un outil visuel gratuit qui permet d'assembler une requête HTTP étape par étape et de l'exporter sous forme de code prêt à l'emploi. Plutôt que d'écrire une commande curl à la main et de compter les guillemets, vous renseignez la méthode, l'URL, les paramètres de requête, les en-têtes, l'authentification et le corps de la requête dans un formulaire — et l'outil génère la requête équivalente dans huit formats différents, prêts à copier ou à télécharger. Il s'adresse aux développeurs backend et frontend, aux intégrateurs d'API, aux ingénieurs QA, et à quiconque teste un webhook ou débogue un appel en échec et préfère cliquer plutôt que mémoriser la syntaxe des options.

Tout s'exécute localement dans votre navigateur. La requête que vous construisez — y compris les jetons bearer, les mots de passe et les clés d'API — n'est jamais envoyée à un serveur. Il n'y a ni inscription ni limite d'utilisation : vous pouvez donc coller un identifiant de production en toute sécurité pendant que vous cherchez pourquoi une requête renvoie une erreur 401.

Ce que vous pouvez configurer

Le générateur reprend tous les éléments d'une véritable requête HTTP :

  • Méthode — GET, POST, PUT, PATCH, DELETE, HEAD ou OPTIONS.
  • URL et paramètres de requête — ajoutez des paires clé/valeur : l'outil les encode pour l'URL et construit une chaîne de requête correctement formée, avec un aperçu en direct de l'URL finale.
  • En-têtes — ajoutez n'importe quel en-tête manuellement, ou utilisez les préréglages en un clic pour les plus courants comme Content-Type: application/json, Accept et User-Agent. Chaque ligne peut être activée ou désactivée sans être supprimée.
  • Authentification — Aucune, HTTP Basic (nom d'utilisateur et mot de passe), Bearer Token, ou API Key. Une clé d'API peut être envoyée soit dans un en-tête, soit comme paramètre de requête, selon ce qu'exige l'API ciblée.
  • Corps de la requête — JSON, form URL-encoded, multipart (une paire clé=valeur par ligne, avec file=@chemin pour les envois de fichiers), texte brut, ou XML. L'en-tête Content-Type correspondant est défini automatiquement dès que vous choisissez un type.
  • Options cURL avancées — suivre les redirections (-L), ignorer la vérification TLS (-k), mode silencieux (-s), mode verbeux (-v), et un délai maximal en secondes.

Huit formats de sortie pour une seule requête

Une fois la requête définie, passez d'un onglet de sortie à l'autre pour obtenir le même appel exprimé en :

  • cURL — une commande shell multi-lignes avec le bon jeu de guillemets
  • JavaScript fetch et axios
  • Node.js avec le module natif https
  • Python avec la bibliothèque requests
  • PHP avec les fonctions curl_*
  • Go avec net/http
  • HTTPie en ligne de commande

Chaque format reflète fidèlement votre configuration — l'authentification Basic devient -u en cURL, auth=(user, pass) en Python, et SetBasicAuth en Go, plutôt qu'un exemple générique. Copiez n'importe quel onglet dans le presse-papiers, ou téléchargez-le sous forme de fichier avec la bonne extension (.sh, .js, .py, .php ou .go).

Pourquoi un générateur de requêtes fait gagner du temps

Une commande cURL est une chaîne de caractères précise, où la moindre erreur est vite arrivée : un simple guillemet dans un corps JSON casse le shell, un -H oublié fait disparaître un en-tête sans avertissement, et la différence entre -d et -F change complètement la façon dont le corps est encodé. Traduire cette même requête à la main dans un autre langage ne fait que multiplier les risques d'erreur. La générer à partir d'un formulaire structuré élimine toute cette catégorie de bugs.

L'outil est aussi un moyen rapide de passer d'un écosystème à l'autre. Si la documentation d'une API ne propose qu'un exemple curl, collez-en les éléments et lisez directement la version Python ou fetch. Pour démarrer rapidement, utilisez les préréglages intégrés — Get JSON, POST JSON, Form upload, et Bearer token GET — qui chargent un exemple complet et fonctionnel que vous pouvez adapter. Comme rien ne quitte votre machine, le même flux de travail convient aussi bien à un service interne sur localhost qu'à une API publique, sans aucun risque de divulguer un jeton à un tiers.