Acerca de esta herramienta
Un comando curl es el idioma común de los reportes de bugs de API, pero escribir bien las comillas es delicado: las comillas simples dentro de un JSON rompen bash, cmd.exe trata & y % de forma especial y PowerShell convierte curl en un alias de algo completamente distinto. Este generador construye el comando a partir de un formulario (método, URL, parámetros de consulta, cabeceras, autenticación Basic/Bearer/API key, body JSON, form-encoded o en bruto, y las opciones -i, -L, --compressed, -k y timeout) y aplica las comillas correctas para bash, cmd de Windows y PowerShell 7.3+. La misma petición se muestra también como fetch de JavaScript, un test con APIRequestContext de Playwright, Python requests y una cadena given/when/then de REST Assured. La pestaña “Parse” funciona al revés: pega un comando curl, incluida la salida de «Copy as cURL» del navegador, y rellena el formulario.
Cómo usarla
- Indica el método y la URL y añade parámetros de consulta, cabeceras, autenticación y un body. Desmarca una fila para excluirla sin borrarla.
- Elige una salida: cURL para tu shell, o fetch, Playwright, Python o REST Assured, y cópiala.
- Para convertir un comando existente, cambia a “Parse cURL”, pégalo y pulsa “Parse into form”. Las opciones no compatibles se enumeran en lugar de descartarse en silencio.
Preguntas frecuentes: Generador de comandos cURL
¿Por qué mi comando curl funciona en bash pero falla en Windows?
cmd.exe no entiende las comillas simples, y PowerShell 5.1 asigna curl a Invoke-WebRequest y elimina las comillas dobles incrustadas en los argumentos nativos. Usa la variante para cmd (comillas dobles con escape mediante circunflejo) o la variante para PowerShell 7.3+, que llama explícitamente a curl.exe.
¿Qué diferencia hay entre -d, --data-raw y --data-binary?
-d trata una @ inicial como nombre de archivo y elimina los saltos de línea de los archivos; --data-raw envía la cadena tal cual, aunque empiece por @; --data-binary envía el contenido del archivo sin eliminar los saltos de línea. Los tres implican POST y un Content-Type de formulario salvo que definas uno.
¿Es seguro usar -k en los tests?
Solo contra entornos locales o de pruebas con certificados autofirmados. -k desactiva la verificación del certificado, así que un test que lo use no detectaría un certificado caducado o que no coincide y que los clientes reales rechazarían.