À propos de cet outil
Une commande curl est la langue commune des rapports de bug d’API, mais l’échappement correct est délicat : des apostrophes dans du JSON cassent bash, cmd.exe traite & et % de façon spéciale, et PowerShell fait de curl un alias vers tout autre chose. Ce générateur construit la commande à partir d’un formulaire (méthode, URL, paramètres de requête, en-têtes, authentification Basic/Bearer/clé API, corps JSON, form-encoded ou brut, et options -i, -L, --compressed, -k et timeout) et l’échappe correctement pour bash, cmd Windows et PowerShell 7.3+. La même requête est aussi rendue en fetch JavaScript, en test Playwright APIRequestContext, en Python requests et en chaîne REST Assured given/when/then. L’onglet Analyse fonctionne dans l’autre sens : collez une commande curl, y compris la sortie « Copy as cURL » (copier en tant que cURL) du navigateur, et le formulaire se remplit.
Mode d’emploi
- Renseignez la méthode et l’URL, puis ajoutez paramètres de requête, en-têtes, authentification et corps. Décochez une ligne pour l’exclure sans la supprimer.
- Choisissez une sortie : cURL pour votre shell, ou fetch, Playwright, Python ou REST Assured, et copiez-la.
- Pour convertir une commande existante, passez à « Parse cURL » (analyser cURL), collez-la et cliquez sur « Parse into form » (remplir le formulaire). Les options non prises en charge sont listées au lieu d’être ignorées en silence.
FAQ : Générateur de commandes cURL
Pourquoi ma commande curl fonctionne-t-elle sous bash mais échoue sous Windows ?
cmd.exe ne comprend pas les apostrophes (guillemets simples), et PowerShell 5.1 associe curl à Invoke-WebRequest et supprime les guillemets doubles imbriqués des arguments natifs. Utilisez la variante cmd (guillemets doubles avec échappement par caret) ou la variante PowerShell 7.3+, qui appelle explicitement curl.exe.
Quelle est la différence entre -d, --data-raw et --data-binary ?
-d traite un @ initial comme un nom de fichier et supprime les retours à la ligne des fichiers ; --data-raw envoie la chaîne telle quelle, même si elle commence par @ ; --data-binary envoie le contenu du fichier sans supprimer les retours à la ligne. Les trois impliquent POST et un Content-Type de formulaire, sauf si vous en définissez un.
Peut-on utiliser -k sans risque dans les tests ?
Uniquement sur des environnements locaux ou de test avec des certificats auto-signés. -k désactive la vérification du certificat : un test qui l’utilise ne remarquerait pas un certificat expiré ou non conforme que de vrais clients rejetteraient.