Outils API et HTTP

convertisseur cURLUne requête, plusieurs langages

Une requête, plusieurs langages

convertisseur cURL

Entrée

Les données sont traitées dans ce navigateur et ne sont pas envoyées à un serveur.

Résultats

Options

Options : -X, -H, -d, --data-raw, --data-binary, --data-urlencode, -G, -I, --url. Autres options et headers dupliqués, vides ou gérés par le transport refusés.

Le sens inverse exige Fetch redirect: "manual" ou Axios maxRedirects: 0. Les corps JSON en chaîne Axios exigent transformRequest: [] ; les objets JSON littéraux sont acceptés.

Cibles : Fetch Node 18+, Axios Node, Python requests, PHP cURL, bibliothèque standard Go, Java 11+, C# 9+, bibliothèque standard Ruby. Aucun code n’est exécuté.

Limites : 100 000 unités UTF-16, 1 000 arguments, 100 headers ; profondeur JSON 10 et 5 000 nœuds AST.

Collez une requête curl, Fetch ou Axios, ou prévisualisez un exemple.

Le convertisseur cURL aide à reprendre un exemple API sans retaper son URL, ses headers et son corps. Vérifiez le code obtenu puis ajoutez la configuration et la gestion des erreurs.

Passez de curl en Python à curl en JavaScript, ou de curl vers Fetch et Axios. Le sens inverse accepte un seul appel contenant des valeurs littérales prises en charge.

Pourquoi ce convertisseur cURL ?

Comparer huit sorties

Le convertisseur cURL conserve méthode, URL, headers et corps dans un modèle commun. Changez de langage sans ressaisir le contenu. Les valeurs par défaut des bibliothèques restent à vérifier.

Une requête se répartit entre plusieurs langages.

Retrouver une commande

Transformez un appel Fetch ou Axios accepté en commande curl pour la documentation. Les variables et expressions dynamiques ne sont jamais exécutées pour deviner leurs valeurs.

Un appel JavaScript revient à une commande curl.

Choisir le sens et le moment

01

Préparer un appel unique

La page commence vide. Choisissez le format et une URL HTTP(S) absolue. Encodez Unicode en pourcentage. Même un exemple attend votre validation après aperçu.

02

Régler la conversion

Le mode automatique attend 350 ms. Désactivez-le pour utiliser le bouton ou Ctrl/Cmd+Enter. Toute modification bloque les exports jusqu’au nouveau résultat.

03

Vérifier les remplacements

Formatage, exemple et effacement affichent un aperçu avant application, avec une annulation possible. Contrôlez les identifiants avant de partager le code.

Les éléments de la requête

Huit cibles de code

Fetch pour Node 18+, Axios pour Node, Python requests, PHP, Go, Java, C# et Ruby. Dans un navigateur, vérifiez aussi CORS et les headers réservés.

Un corps texte

Les options de données créent un corps UTF-8 ; -G déplace les données dans la query. Méthodes : GET, HEAD, POST, PUT, PATCH, DELETE et OPTIONS.

Lecture des littéraux

Options Fetch, configuration Axios et méthodes admises sont lues statiquement. JSON.stringify avec un littéral JSON pur ne nécessite aucune exécution.

Erreurs localisées

Une syntaxe ou option inconnue bloque la génération. Un ancien résultat ne reste pas exportable après un échec.

Limites de syntaxe et de taille

Une commande et une URL
Pas de commandes multiples, pipes, expansion shell, identifiants URL, fragments ou globs. Seules les URL HTTP(S) absolues ASCII sont acceptées.
Options définies
Combinaisons admises de -X, -H, -d, --data-raw, --data-binary, --data-urlencode, -G, -I et --url. Une option inconnue entraîne une erreur.
Pas de suppression silencieuse
Headers dupliqués, suppression par header vide, -u, -b, redirections, multipart et fichiers sont refusés. GET et HEAD ne peuvent avoir de corps.
Pas de JavaScript dynamique
Variables, fonctions, spread et propriétés calculées sont exclus. JSON statique : profondeur 10 et 5 000 nœuds AST au maximum. Le sens inverse exige Fetch redirect: "manual" ou Axios maxRedirects: 0. Les corps JSON en chaîne Axios exigent transformRequest: [] ; les objets JSON littéraux sont acceptés.
Plafonds explicites
100 000 unités UTF-16, 1 000 arguments et 100 headers au maximum. Tout dépassement est refusé sans tronquer la requête. Si le formatage dépasse 100 000 unités UTF-16, l’aperçu reste disponible mais le remplacement de l’entrée est bloqué. Le résultat généré complet peut toujours être exporté.
Vérifier l’environnement
Aucun test de connexion ni garantie de trafic identique. Axios Node désactive redirections et transformations automatiques du corps. Les secrets restent dans la sortie. Accept est explicite : */* pour curl/Fetch, application/json, text/plain, */* pour Axios. Un corps chaîne Axios DELETE/OPTIONS exige un Content-Type explicite. Encodez les caractères URL interdits par RFC 3986 ; userinfo vide est aussi refusé.

Questions sur le convertisseur cURL

La conversion appelle-t-elle le serveur cible ?

Non. Le texte est analysé dans le navigateur ; aucune connexion à l’adresse indiquée n’est tentée.

Peut-on coller une commande copiée dans DevTools ?

Oui, pour une requête unique avec les options prises en charge. Préférez le format bash et vérifiez la signification des options refusées.

Comment obtenir du code Python Requests ?

Choisissez Python en sortie. Le convertisseur cURL produit un exemple requests ; installez la bibliothèque et adaptez sa configuration à votre projet.

Pourquoi certains headers ne sont-ils pas disponibles ?

Le navigateur contrôle certains headers. La sortie Fetch vise Node 18+ ; si vous la déplacez vers un navigateur, vérifiez ses restrictions et CORS.

Les secrets sont-ils cachés dans la sortie ?

Non. Les valeurs saisies restent dans le code. Supprimez ou remplacez les tokens avant de partager un fichier ou de le publier.

Un résultat inattendu ?

Préparer le prochain appel

Utilisez le convertisseur cURL pour comparer le corps et les headers, puis adaptez le code à votre application.