🔁
Outils pour développeurs
May 21, 20267 min readBy BrowseryTools Team

Comment convertir cURL en code (fetch, Python requests, Node.js)

Collez une commande cURL et obtenez du code JavaScript fetch, Python requests ou Node.js fonctionnel — y compris l'astuce DevTools 'Copier en tant que cURL'. Apprenez comment chaque option correspond au code pour pouvoir valider le résultat, tout traité localement dans votre navigateur.

curl en codecurl vers fetchcurl vers pythonconvertir curlcopier en tant que curlapi

Vous avez trouvé l'appel API dont vous avez besoin — mais il est écrit en cURL, et vous travaillez en JavaScript ou Python. Ou vous avez ouvert les DevTools de votre navigateur, effectué un clic droit sur une requête, et choisi “Copier en tant que cURL”, et vous vous retrouvez maintenant avec un mur d'options à transformer en vrai code. Traduire cURL à la main est fastidieux : chaque -H, -d, -u et -X doit correspondre au bon argument dans votre langage, et un seul en-tête manquant casse la requête.

Le convertisseur cURL de BrowseryTools le fait instantanément — collez une commande cURL et obtenez du code propre en JavaScript fetch, Python requests, Node.js, et plus encore, tout dans votre navigateur sans rien uploader. Ce guide présente la correspondance options-code pour que vous puissiez lire et valider le résultat.

Le flux de travail “Copier en tant que cURL”

Le moyen le plus rapide d'obtenir une requête fonctionnelle est de laisser le navigateur l'écrire pour vous. Ouvrez les DevTools (F12), allez dans l'onglet Réseau, effectuez l'action que vous voulez reproduire, puis cliquez droit sur la requête et choisissez Copier → Copier en tant que cURL. Vous disposez maintenant d'une commande cURL avec les en-têtes, cookies et corps exacts que le vrai site a envoyés. Collez-la dans le convertisseur et vous obtenez la même requête sous forme de code à intégrer dans votre projet.

Comment les options cURL correspondent au code

Une fois que vous connaissez la poignée d'options qui comptent, vous pouvez lire n'importe quelle commande cURL d'un coup d'œil :

-X POST          ->  the HTTP method
-H "Key: Value"  ->  a request header
-d '{...}'       ->  the request body (implies POST)
-u user:pass     ->  HTTP Basic auth
-F field=value   ->  multipart/form-data upload
-b "name=value"  ->  a cookie
-L               ->  follow redirects

Un en-tête comme -H "Authorization: Bearer abc123" devient une entrée dans l'objet headers. Un corps passé avec -d devient le corps de la requête, et si le type de contenu est JSON il est sérialisé en conséquence.-u user:pass devient un en-tête d'authentification Basic. Connaître cette correspondance vous permet de vérifier le code généré plutôt que de lui faire aveuglément confiance.

La même requête en trois langages

Prenons un POST authentifié simple. En cURL :

curl -X POST https://api.example.com/users \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Ada"}'

En JavaScript fetch :

fetch("https://api.example.com/users", {
  method: "POST",
  headers: {
    "Authorization": "Bearer TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ name: "Ada" }),
});

En Python requests :

import requests

requests.post(
    "https://api.example.com/users",
    headers={"Authorization": "Bearer TOKEN"},
    json={"name": "Ada"},
)

Remarquez comment l'argument json= de Python définit le corps et l'en-tête Content-Type automatiquement — une petite différence idiomatique que le convertisseur gère pour vous.

Pièges courants

Les guillemets et l'échappement. Les corps cURL sont entourés de guillemets simples dans le shell ; quand ils contiennent du JSON avec des guillemets doubles, la traduction manuelle est là où des bugs s'infiltrent. Laisser un convertisseur analyser cela élimine ce risque.

Le POST implicite. Utiliser -d rend la requête POST même sans -X POST. Si vous ne traduisez que les options visibles, vous pourriez produire à tort un GET.

Les secrets dans la commande. Une requête cURL copiée contient souvent des jetons et cookies actifs. Comme le convertisseur s'exécute entièrement dans votre navigateur, ces secrets ne sont jamais envoyés à un serveur — mais vous devriez quand même les supprimer avant de coller le code dans un dépôt partagé ou un ticket.

Questions fréquemment posées

Vers quels langages puis-je convertir ? JavaScript fetch, Python requests, Node.js, et d'autres cibles courantes.

Le convertisseur envoie-t-il ma commande quelque part ? Non. L'analyse et la conversion se font localement dans votre navigateur, donc tous les jetons de la commande restent sur votre appareil.

Puis-je coller un “Copier en tant que cURL” depuis les DevTools ?Oui — c'est l'un des meilleurs usages. Cela capture les en-têtes et le corps exacts d'une vraie requête.

Est-ce gratuit ? Oui — sans compte, sans limite.

Convertir maintenant

Ouvrez le convertisseur cURL, collez votre commande, et copiez le code équivalent. Pour une vue approfondie de la syntaxe cURL et des modèles REST, lisez notre guide sur la conversion des requêtes API entre langages, et pour comprendre les réponses que vous obtenez consultez le guide des codes de statut HTTP.


🛠️

Try the Tools — 100% Free, No Sign-Up

Everything runs in your browser. No uploads. No accounts. No ads.

Explore All Tools →