Utilo

Convertisseur curl

Convertissez des commandes curl en code JavaScript fetch, axios, Python requests, Go net/http, Node.js et PHP, ou transformez du code fetch/requests en curl. Gère en-têtes, JSON, formulaires, authentification et commandes multilignes.

Ce que fait ce convertisseur de boucles

Les documents API, le navigateur DevTools ("Copy as cURL") et Postman parlent tous le curl, mais votre code probablement pas. Cet outil analyse une commande curl, y compris des commandes multi-lignes avec des continuations de barre arrière, et la transforme en code idiomatique pour JavaScript fetch, axios, Python requests, Go net/http, Node.js https et PHP cURL. Il fonctionne également de l'autre façon: coller un appel fetch(...) ou un appel Python requests.post(...) et obtenir une commande curl équivalente que vous pouvez exécuter dans un terminal ou partager dans un rapport de bug. L'analyse se fait entièrement dans votre navigateur, donc les jetons et les cookies dans la commande ne quittent jamais votre machine.

Mode d'emploi

  1. Sélectionnez curl → code ou code → curl en haut.
  2. Collez votre commande ou votre extrait dans la zone d'entrée. Les interruptions de ligne, les continuations \ et les deux styles de citations sont gérés.
  3. Choisissez une langue cible dans les onglets. La sortie est mise à jour à mesure que vous tapez.
  4. Lisez les notes sous la sortie: les drapeaux qui n'ont pas d'équivalent direct (par exemple --compressed) y sont répertoriés au lieu d'être discrètement supprimés.
  5. Copiez le résultat en un clic.

Ce qui est pris en charge

  • Les méthodes via -X, POST implicite lorsqu'un corps est présent, et -G pour déplacer les données dans la chaîne de requête.
  • Les en-têtes (-H), les cookies (-b), l'agent utilisateur (-A), le référent (-e) et l'authentification de base (-u), qui deviennent un en-tête Authorization.
  • Des corps de -d, --data-raw, --data-binary, --data-urlencode et --json. Les corps JSON sont imprimés et émis comme des objets natifs lorsque le langage le permet (json= en Python, JSON.stringify en JS).
  • Les formulaires en plusieurs parties avec -F, y compris les téléchargements @file, rendus comme FormData, files= ou CURLFile.
  • L'option -k/--insecure et -L/--location sont associées à l'option équivalente de chaque client lorsqu'elle existe.

Des conseils

  • Dans Chrome DevTools utilise **Copy as cURL (bash) **, pas la variante cmd; l'évasion de Windows ^ est plus difficile à analyser.
  • Supprimez les secrets avant de coller un extrait converti dans un tracker de problème.
  • Pour le code → curl, les variables définies avec des valeurs littérales dans le même extrait sont substituées; les valeurs calculées à l'exécution ne peuvent pas l'être.

Questions fréquentes

Ma commande est envoyée à un serveur ?

Je ne veux pas. L'analyseur et les générateurs de code sont des JavaScript simples qui s'exécutent localement. Vous pouvez vous déconnecter du réseau après le chargement de la page et l'outil continue de fonctionner.

Pourquoi ma requête convertie échoue quand curl fonctionne ?

Les navigateurs bloquent certains en-têtes (Host, Cookie, Origin) dans fetch et appliquent le CORS. Exécutez le code de récupération généré dans Node.js 18+ ou à partir de votre propre backend.

Il peut convertir les collections de Postman ?

Pas directement. Dans Postman, ouvrez une demande, cliquez sur le bouton Code et choisissez cURL, puis collez-le ici.

Quelle bibliothèque Python est utilisée ?

La célèbre bibliothèque requests. Installez-le avec pip install requests.

Oui. Tout le traitement s'effectue directement dans votre navigateur grâce à JavaScript, aux Web Workers et aux API Web. Rien de ce que vous saisissez, collez ou importez n'est envoyé à nos serveurs.

Cette page a été traduite automatiquement depuis l'anglais. Si vous repérez une erreur, dites-le-nous.