cURL a código
Pega un comando curl, comprueba la petición que envía y cópiala como código en siete lenguajes.
El análisis y la generación de código ocurren en esta pestaña del navegador. No se sube, se guarda ni se envía nada, ni siquiera a nosotros.
Pega un comando curl arriba para ver el resumen de la petición y el código.
Cómo se usa
- Pega un comando curl, desde DevTools (Copiar como cURL), la documentación de una API o un chat. El código aparece mientras escribes.
- Lee primero la línea de resumen: método, URL, número de cabeceras y tamaño del cuerpo. Si el resumen es correcto, el código de abajo también lo es.
- Elige el lenguaje de destino; el código y el nombre del archivo descargado cambian sin tocar tu comando.
- Los avisos señalan todo lo que el código no representa: proxies, redirecciones, variables de shell. Los errores detienen la generación en lugar de mostrar media petición.
- Restablecer borra la entrada y vuelve a Python; recargar la página hace lo mismo.
Ejemplo
Comando
curl -X POST 'https://httpbin.org/anything?from=es' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer demo-token' \ -d '{"nombre": "Ana", "ciudad": "Madrid"}'
Python
import requests url = "https://httpbin.org/anything?from=es" headers = { "Content-Type": "application/json", "Authorization": "Bearer demo-token", } data = "{\"nombre\": \"Ana\", \"ciudad\": \"Madrid\"}".encode("utf-8") response = requests.request("POST", url, headers=headers, data=data) print(response.status_code) print(response.text)
El resumen y el código anteriores se generan a partir de ese comando: esta herramienta nunca llama a httpbin. El subconjunto admitido es método, URL, cabeceras, cuerpo, autenticación Basic/Bearer y tiempo de espera.
Reglas, límites y problemas conocidos
- Sin carga de archivos: las entradas -F, -T y @archivo se rechazan, así que nunca obtienes código que descarte un archivo en silencio.
- Sin ejecución de shell: las variables, la sustitución de comandos, las tuberías y los comandos múltiples no se expanden; $TOKEN se queda literal con un aviso.
- Una URL por comando: las URL adicionales se ignoran con un aviso, no se convierten en un bucle.
- Las opciones de transporte no se reproducen: -L, -k, los proxies, los certificados de cliente, las versiones HTTP, los reintentos y la compresión solo generan un aviso. El código generado usa los valores por defecto de su cliente.
- Sin los valores por defecto implícitos de curl: no se añaden User-Agent: curl/… ni Accept: */*; fíjalos con -A / -H.
- Solo comillas POSIX: comillas simples, comillas dobles, $'...' y continuaciones de línea con barra invertida; el escapado de Windows CMD no se analiza.
- Las cabeceras duplicadas sobreviven en Go, PHP, Java, C# y Ruby; los diccionarios de Python y JavaScript las fusionan con ", ".
- Una petición GET/HEAD con cuerpo se genera tal como se escribió, con un aviso: fetch la rechaza.
- Sin historial ni persistencia: recargar lo borra todo; el botón de compartir comparte el enlace de la página, nunca tu comando.
- Esta herramienta solo convierte; nunca envía la petición. Usa el cliente de API si además quieres ver la respuesta.
Herramientas relacionadas
Útiles después de convertir un comando.