Convertir curl a Python
curl2code convierte instantáneamente cualquier comando curl en código Python limpio utilizando la popular librería requests. La conversión se ejecuta completamente en su navegador a través de WebAssembly; sus datos nunca salen de su dispositivo. Si trabaja con TypeScript en el frontend, consulte nuestro conversor de curl a TypeScript. Para JavaScript en el lado del servidor, vea curl a Node.js. A continuación encontrará ejemplos prácticos que cubren los escenarios HTTP más comunes.
Cómo copiar curl desde su navegador
- 1
Abrir DevTools
Presione F12 o Ctrl+Shift+I para abrir las herramientas de desarrollo de su navegador.
- 2
Vaya a la pestaña Network
Haga clic en la pestaña Network y realice la acción que activa la solicitud HTTP.
- 3
Copiar como cURL
Haga clic derecho en la solicitud → Copy → Copy as cURL. Luego péguelo arriba.
Preguntas frecuentes
¿Qué es Python Requests?
Python Requests es la biblioteca de cliente HTTP más popular para Python con más de 50,000 estrellas en GitHub. Proporciona una API elegante y Pythonic para realizar solicitudes HTTP, manejar sesiones, cookies y autenticación. Admite el análisis de JSON de forma nativa, agrupación de conexiones (connection pooling) y decodificación automática de contenido. Instálalo con pip install requests. Es la biblioteca predeterminada utilizada por curl2code para las conversiones de Python.
Requests vs http.client — ¿cuál debería usar?
Se recomienda Requests para la mayoría de los casos de uso debido a su API simple, análisis automático de JSON y soporte de sesión integrado. http.client es parte de la biblioteca estándar de Python y no requiere instalación, lo que lo hace adecuado para entornos mínimos. Para una simplicidad similar en otros lenguajes, consulta nuestro conversor de curl a Ruby o conversor de curl a Go.
¿Cómo manejar la autenticación en Python Requests?
Pasa un encabezado Authorization con tu token para la autenticación Bearer, o usa requests.auth.HTTPBasicAuth(user, pass) para la autenticación Basic. curl2code detecta automáticamente los patrones de autenticación, incluidos -u user:pass y -H 'Authorization: Bearer ...'.
¿Cómo enviar datos de formulario multipart con Python?
Usa el parámetro files: requests.post(url, files={ 'file': open('doc.pdf', 'rb') }). Para campos de formulario adicionales, usa data simultáneamente. curl2code maneja las etiquetas -F automáticamente.
¿Cómo manejar errores y reintentos?
Usa response.raise_for_status() para excepciones en 4xx/5xx. Envuélvelo en un bloque try/except capturando requests.exceptions.RequestException. Para reintentos, usa urllib3.util.Retry con un adaptador de Session.
¿Cómo hacer solicitudes HTTP asíncronas en Python?
requests es síncrono. Para HTTP asíncrono, usa aiohttp o httpx (ofrece APIs tanto síncronas como asíncronas con una interfaz compatible con requests). Para escenarios de alta concurrencia, los clientes asíncronos proporcionan un rendimiento significativamente mejor.
¿Cómo establecer tiempos de espera y agrupación de conexiones?
Establece siempre tiempos de espera: requests.get(url, timeout=(3.05, 27)). Para la agrupación de conexiones, usa requests.Session(), que reutiliza las conexiones TCP. Las opciones --connect-timeout y --max-time de curl se asignan a estos.
¿Cómo configurar un proxy con Python Requests?
Pasa un diccionario proxies: { 'https': 'http://proxy:8080' }. Para SOCKS, instala requests[socks]. También respeta las variables de entorno HTTP_PROXY / HTTPS_PROXY. curl2code convierte -x y --proxy automáticamente.
¿Cómo enviar una solicitud POST con un cuerpo JSON en Python?
Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL a Python usando curl2code. El código generado utiliza requests.post(url, json={'key': 'value'}). curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de Requests.
¿Cómo añadir autorización con token Bearer en Python?
Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de Requests con el encabezado de autorización: headers={'Authorization': 'Bearer YOUR_TOKEN'}. curl2code detecta tokens Bearer tanto en los flags -H "Authorization: Bearer ..." como en --oauth2-bearer. Para Basic auth, utiliza -u user:pass.
¿Cómo configurar el encabezado Content-Type en Python?
curl2code convierte curl -H "Content-Type: application/json" URL a código de Requests con el encabezado correcto: headers={'Content-Type': 'application/json'}. Para los datos de -d, curl utiliza por defecto application/x-www-form-urlencoded; para subidas de formularios con -F, utiliza multipart/form-data. curl2code mapea cada uno a la API de Requests correcta.
¿Cómo convertir un comando curl a código Python?
Pega tu comando curl en curl2code y selecciona Python. La herramienta analiza todos los flags — -X (método), -H (encabezados), -d (datos), -u (autorización), -F (formulario), cookies y más — y genera código limpio para Python Requests. La conversión se ejecuta localmente en tu navegador a través de WebAssembly, por lo que tus claves de API y datos permanecen privados. También puedes elegir http.client como biblioteca alternativa.
Enlaces útiles
Guías de curl
Códigos de error de curl
Busca cualquier código de salida de curl — causas, soluciones y consejos de depuración.
Descargar archivos con curl
Guarda archivos con -o, -O, sigue redirecciones, reanuda descargas y más.
SSL, TLS y proxy
Configura certificados, versiones de TLS, proxies HTTP/SOCKS y DNS personalizado.