Convertisseur cURL vers Fetch
Convertissez les commandes cURL en code JavaScript fetch() API. Analyse les drapeaux curl : -X (méthode), -H (en-têtes), -d/--data (corps), --json, -u (authentification basique), --data-urlencode, -G (GET avec données), et plus.
Examples:
Comment utiliser Convertisseur cURL vers Fetch
- 1Collez votre commande cURL dans le champ de saisie.
- 2L'outil analyse automatiquement tous les drapeaux et options curl.
- 3Le code JavaScript fetch() est généré avec les en-têtes, la méthode et le corps équivalents.
- 4Copiez le code fetch directement dans votre projet JavaScript.
ZenovayAnalytics
Voyez qui est sur votre site en ce moment.
- Suivi des visiteurs en temps réel
- Vie privée d'abord, sans bandeau cookies
- Installé en deux minutes
Outils connexes
Formateur et Validateur JSON
Formatez, validez et embellissez les données JSON avec la coloration syntaxique et la détection d'erreurs.Décodeur JWT
Décodez et inspectez les jetons JWT. Consultez l'en-tête, la charge utile et vérifiez les signatures.Encodeur/Décodeur Base64
Encodez du texte en Base64 ou décodez Base64 en texte. Supporte UTF-8 et les données binaires.Encodage / Décodage URL
Encodez ou décodez les composants URL. Traitez les caractères spéciaux, les chaînes de requête et les URL complètes.Questions fréquemment posées
Quels drapeaux curl ce convertisseur supporte-t-il ?▾
-X / --request : méthode HTTP (GET, POST, PUT, PATCH, DELETE, etc.). -H / --header : Ajouter un en-tête de demande (plusieurs supportés). -d / --data / --data-raw : Corps de la demande. --data-urlencode : Données encodées URL. --json : Envoyer corps JSON (définit Content-Type automatiquement). -u / --user : Authentification Basic (user:password). -L / --location : Suivre les redirections (inclus comme commentaire). --compressed : Accepter les réponses compressées. -b / --cookie : En-tête Cookie. --form / -F : Données de formulaire (multipart). -k / --insecure : Ignorer la vérification SSL (noté comme commentaire).
Comment -d/--data fonctionne-t-il dans curl par rapport à fetch ?▾
Dans curl, -d envoie les données comme le corps de la demande avec Content-Type: application/x-www-form-urlencoded par défaut. Plusieurs drapeaux -d concaténent les données avec &. Dans fetch, l'équivalent est body: "key=value&other=val" avec un en-tête Content-Type correspondant. Si vous utilisez --json dans curl (curl 7.82+), il définit Content-Type: application/json et envoie le corps JSON — cela correspond à body: JSON.stringify(data) dans fetch. Si votre curl inclut déjà -H "Content-Type: application/json", le convertisseur détecte ceci et formate le corps en conséquence.
Comment l'authentification basic (-u user:pass) est-elle convertie ?▾
curl -u username:password envoie l'authentification HTTP Basic. Dans le fetch JavaScript, cela correspond à un en-tête Authorization : Authorization: Basic {base64(username:password)}. Le convertisseur génère btoa("username:password") dans le code fetch. Note : l'intégration d'identifiants dans le code côté client est insécurisée — pour la production, passez les identifiants côté serveur ou utilisez des variables d'environnement.
Qu'en est-il des cookies (-b/--cookie) ?▾
curl -b "name=value; other=val" envoie les cookies comme un en-tête Cookie, qui correspond directement à un en-tête fetch : "Cookie": "name=value; other=val". Cependant, notez que le fetch basé sur le navigateur ne peut pas définir l'en-tête Cookie pour les demandes cross-origin (restrictions CORS). C'est une caractéristique de sécurité — les cookies pour les demandes cross-origin sont gérés automatiquement par le navigateur en fonction du domaine du cookie et des paramètres SameSite.
Pourquoi le code fetch généré pourrait-il nécessiter des ajustements manuels ?▾
Curl a de nombreux drapeaux qui n'ont pas d'équivalents directs dans fetch : --retry (pas de retry natif dans fetch), --max-time/--connect-timeout (nécessite AbortController avec setTimeout), --proxy (non supporté dans fetch du navigateur), --cert/--key (certificats clients TLS, pas dans fetch du navigateur). Le convertisseur gère les drapeaux les plus courants. Pour les cas limites, vous pourriez avoir besoin d'envelopper fetch avec une logique de retry ou d'utiliser une bibliothèque HTTP Node.js comme axios ou got qui supporte plus d'options.