Convertisseur cURL : cURL vers fetch, Python, Axios et plus

Collez une commande curl, par exemple copiée depuis les DevTools de votre navigateur, et obtenez du code prêt à l’emploi dans 8 langages. En-têtes, corps JSON, formulaires, envois de fichiers, authentification et cookies sont tous convertis.

Fonctionne dans le navigateurSans inscriptionAucun envoi de données

Convertir en
JavaScript fetch

    

    Comment utiliser : Convertisseur cURL

    1. Copiez une requête au format cURL : dans les DevTools de Chrome ou Firefox, faites un clic droit sur une requête de l’onglet Network → Copy → Copy as cURL.
    2. Collez-la dans la zone de saisie. Les commandes multilignes avec \, les continuations Windows ^ et les chaînes $'…' sont prises en charge.
    3. Choisissez la cible : JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP ou HTTPie.
    4. Lisez les avertissements sous le résultat. Ils listent les options sans équivalent dans le langage cible.
    5. Copiez le code ou téléchargez-le sous forme de fichier.

    Pourquoi convertir des commandes curl en code ?

    curl est la langue commune du HTTP. Les documentations d’API donnent leurs exemples en curl, les DevTools des navigateurs exportent les requêtes en curl, et les équipes support envoient leurs reproductions en curl. Pour intégrer cette requête dans une application, il faut la réécrire à la main : déplacer chaque -H dans un objet d’en-têtes, transformer -d en corps, convertir -u en authentification Basic et se souvenir que -G déplace les données dans la query string. Ce convertisseur fait ce travail pour vous et produit du code à coller directement dans un projet.

    Options curl prises en charge

    OptionConvertie en
    -X, -I, -GMéthode HTTP (POST est déduit lorsqu’un corps est présent)
    -H, -A, -e, -bEn-têtes, User-Agent, Referer et cookies
    -d, --data-raw, --data-binary, --data-urlencode, --jsonCorps de la requête : objets JSON, champs de formulaire ou texte brut
    -FDonnées de formulaire multipart, y compris les envois @file
    -u, --oauth2-bearerAuthentification Basic ou token Bearer
    -k, -L, -m, -x, --compressedVérification TLS, redirections, timeout, proxy et compression

    Les corps JSON deviennent de vrais objets

    Quand la requête envoie du JSON (un en-tête Content-Type: application/json, --json, ou un corps qui s’analyse comme du JSON), le convertisseur génère des structures de données natives au lieu d’une chaîne échappée : JSON.stringify({...}) pour fetch, un objet simple pour Axios et json= avec un dict Python (True, False, None) pour requests et httpx. Le payload est ainsi facile à modifier et à alimenter avec des variables.

    Différences à garder en tête

    Les navigateurs ne peuvent ni désactiver la vérification des certificats ni faire passer une requête isolée par un proxy : -k et -x n’apparaissent donc qu’en commentaires dans le code fetch pour navigateur. curl ne suit pas les redirections sans -L, alors que fetch, requests et Go les suivent par défaut. Un corps envoyé avec -d sans Content-Type est encodé en formulaire par curl ; s’il ressemble à du JSON, le convertisseur l’envoie en JSON et vous le signale par un avertissement.

    Questions fréquentes

    Ma commande curl est-elle envoyée à un serveur ?
    Non. L’analyse et la génération de code s’exécutent entièrement dans votre navigateur. Les commandes copiées depuis les DevTools contiennent souvent des cookies et des tokens : rien n’est envoyé ni stocké.
    Comment copier une requête au format cURL dans Chrome ?
    Ouvrez les DevTools (F12), allez dans l’onglet Network, faites un clic droit sur la requête et choisissez Copy → Copy as cURL (bash). La variante cmd pour Windows fonctionne aussi ici.
    Les envois de fichiers sont-ils gérés ?
    Oui. -F name=@file devient FormData en JavaScript, un dict files= en Python, mime/multipart en Go et CURLFile en PHP. -d @file et -T file lisent le corps de la requête depuis un fichier.
    Que deviennent les options que le convertisseur ne connaît pas ?
    Elles sont listées en avertissements sous le résultat, pour que rien ne soit ignoré en silence. Les options qui ne concernent que la sortie, comme -s, -v ou -o, sont ignorées car elles ne modifient pas la requête.
    Faut-il utiliser requests ou httpx en Python ?
    requests est depuis longtemps la référence pour les scripts synchrones. httpx offre une API quasi identique, ajoute HTTP/2 et l’async, et ne suit pas les redirections sauf si vous le demandez, ce qui est plus proche du comportement de curl.

    Outils associés