Qué hace esta herramienta
El conversor de curl a código transforma un comando curl en código listo para ejecutar en siete destinos: JavaScript fetch, Node.js axios, Python requests, Go net/http, PHP cURL, Java HttpClient y C# HttpClient. La documentación de APIs, Postman y las DevTools del navegador muestran las peticiones como comandos curl; esta herramienta te evita reescribir a mano el método, la URL, las cabeceras, el cuerpo y la autenticación.
El analizador está escrito específicamente para la línea de comandos de curl. Lee las comillas como lo hace bash, entiende opciones cortas agrupadas como -sSL y valores pegados como -XPOST, y conserva el orden de tus cabeceras.
Cómo usarla
- Pega un comando curl en la entrada o pulsa Ejemplo para probar uno.
- Elige el Lenguaje que quieras.
- Copia el resultado o descárgalo como archivo de código fuente.
Un cuerpo enviado con -d se convierte en un cuerpo codificado como formulario; --json (o un Content-Type JSON) se convierte en un cuerpo JSON, formateado cuando el lenguaje lo permite; y los campos -F se convierten en un formulario multipart con subida de archivos. -u user:password pasa a la opción de autenticación básica propia de cada lenguaje, y -k, -L, -m y -x corresponden a la verificación TLS, las redirecciones, los tiempos de espera y los proxies.
Ejemplo
Este comando envía JSON con un token bearer:
curl https://api.example.com/v1/users \
-H 'Authorization: Bearer TOKEN' \
--json '{"name":"Ada"}'
En Python se convierte en una llamada a requests.post() con un diccionario headers y json=json_data; en Go, en un http.NewRequest que establece las cabeceras una a una y pasa el cuerpo como un lector de cadena.
Consejos
- Si el conversor muestra un error, el mensaje indica el problema y el cursor salta al elemento culpable, como una opción desconocida o una comilla sin cerrar.
- Las tuberías y redirecciones tras el comando (
| jq .,> out.json) se ignoran. - El código generado lee en tiempo de ejecución los archivos referenciados con
@file, así que mantén esas rutas válidas respecto al lugar donde se ejecuta el programa. - Revisa los secretos antes de compartir un enlace: el botón de compartir incluye el comando en el hash del enlace.
Preguntas frecuentes
› ¿Se envía mi comando curl a un servidor?
No. El comando se analiza y convierte por completo en tu navegador, así que los tokens, cookies y contraseñas que contenga nunca salen de tu dispositivo.
› ¿Qué opciones de curl se admiten?
Las que definen la petición: -X, -H, -d, --data-raw, --data-binary, --data-urlencode, --json, -F, -u, -b, -A, -e, -G, -I, -L, -k, -m, -x, --compressed y --url. Las opciones que solo afectan a la salida de curl, como -s, -v, -o o -w, se aceptan y se ignoran.
› ¿Puedo pegar un comando copiado de las DevTools del navegador?
Sí. Usa Copiar como cURL (bash) en el panel Red. Se entienden las continuaciones de línea con \, ^ (cmd de Windows) y ` (PowerShell), así como las comillas simples, dobles y $'…'.
› ¿Qué pasa con las opciones que el código no puede reproducir?
El código generado empieza con un comentario Note, por ejemplo cuando -k no se puede expresar con fetch o cuando curl leería un archivo que el código no abre. Las opciones desconocidas se notifican con un error que señala la opción exacta.