Conversor de curl a Python
Convierte un comando curl a código de Python con requests al instante en tu navegador. El comando permanece en tu dispositivo.
Tu comando curl se convierte a Python localmente en tu navegador y nunca se sube, pero evita pegar tokens o credenciales de producción reales en cualquier herramienta.
¿Quieres enviar la solicitud? Prueba el Cliente de Peticiones API.
Acerca de curl a Python
Este conversor de curl a python toma un comando curl que copiaste de una terminal, las DevTools del navegador o la documentación de una API y lo reescribe como un script de Python limpio basado en la biblioteca requests. Como conversor de curl a requests lee banderas como -X, -H, -d, --data-raw, --json, -u, -b y -G, elige el método HTTP correcto y opta por json= para los cuerpos JSON válidos o data= para las cargas de formulario, así que la llamada funciona la primera vez que la ejecutas. Es útil cuando llevas una prueba rápida de API a un script de Python, un notebook o una integración de backend sin reescribir las cabeceras a mano. Toda la conversión se ejecuta en tu navegador, así que el comando curl y cualquier token que contenga se procesan localmente en tu dispositivo y nunca se suben.
Características
- Genera una llamada requests.request(method, url, ...) con el método HTTP inferido
- Construye un diccionario headers de Python a partir de cada bandera -H/--header
- Usa json= para los cuerpos JSON válidos y data= para las cargas codificadas como formulario
- Embellece los cuerpos JSON como un literal de diccionario de Python que puedes editar
- Mapea -u/--user a una cabecera Authorization de autenticación básica y maneja cookies, user-agent y referer
- Añade los datos de -G/--get a la URL como una cadena de consulta
- Advierte sobre banderas sin equivalente en requests, como -k y las opciones de salida a archivo
- Copia el resultado o descárgalo como request.py con un clic
Cómo usar curl a Python
- Pega tu comando curl en el cuadro del comando cURL.
- Lee el script de Python con requests generado en el panel de salida.
- Revisa el banner de advertencia por si hay banderas que se ajustaron u omitieron.
- Haz clic en Copiar, o descarga el script como request.py.
Ejemplo
Entrada
curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-d '{"name":"Ada"}'
Salida
import requests
url = "https://api.example.com/users"
headers = {
"Content-Type": "application/json",
}
payload = {
"name": "Ada"
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.status_code)
print(response.text)
Un cuerpo JSON se pasa con json= para que requests lo serialice por ti.
Errores comunes y solución de problemas
- La salida usa data= cuando esperabas json=. — Envía el cuerpo con --json o añade -H "Content-Type: application/json" para que el conversor lo reconozca como JSON y cambie a json=.
- Al ejecutar el script aparece ModuleNotFoundError: No module named 'requests'. — Instala primero la dependencia con pip install requests; el código generado apunta a la biblioteca externa requests, no a urllib.
- Un cuerpo JSON sale como una cadena entre comillas en vez de un diccionario de Python. — Eso ocurre cuando el cuerpo no es JSON válido. Corrige el JSON, o consérvalo como cadena y envíalo con data=.
Preguntas frecuentes
- ¿Cómo convierto un comando curl a Python?
- Pega el comando curl en el cuadro de entrada y el conversor renderiza un script de Python con requests a la derecha que puedes copiar o descargar como request.py.
- ¿Genera código para la biblioteca requests o para urllib?
- Apunta a la popular biblioteca requests y emite una llamada requests.request(method, url, ...). Instálala con pip install requests antes de ejecutar el script.
- ¿Cuándo usa el conversor json= en vez de data=?
- Usa json= cuando el cuerpo es JSON válido (enviado con --json o un Content-Type JSON) para que requests serialice el diccionario, y data= para los cuerpos codificados como formulario o de cadena en bruto.
- ¿Cómo se maneja en la salida de Python un valor de autenticación básica de curl -u?
- Un valor de -u o --user se codifica en base64 en una cabecera Authorization: Basic dentro del diccionario headers, igual que lo que curl envía por la red.
- ¿Se sube mi comando curl cuando lo convierto a Python?
- No. La conversión de curl a python se ejecuta por completo en tu navegador, así que el comando y cualquier credencial que contenga permanecen en tu dispositivo.
Herramientas relacionadas
- curl a Go — Convierte un comando curl en código de Go con net/http.
- curl a PHP — Convierte un comando curl en un script PHP con la extensión cURL.
- curl a Node.js — Convierte un comando curl en código de Node.js con axios.
- cURL a Fetch — Convierte un comando curl en una llamada fetch() de JavaScript.
- Cliente de API — Envía peticiones HTTP, crea cabeceras y parámetros e inspecciona respuestas; guarda tus últimas 25.
- Analizador de URL — Descompone una URL en sus partes y lista los parámetros de consulta.
Todas las herramientas de ArrayKit