Skip to main content
Volver a herramientas

cURL to Python

Convierte un comando curl a Python requests

Acerca de cURL to Python

Genera código Python para la biblioteca requests a partir de un comando cURL, con requests.get, requests.post u otro método auxiliar y los encabezados en un diccionario. Un cuerpo JSON de -d pasa a json= con True, False y None ya convertidos, -u pasa a auth=('usuario', 'clave') y los campos de formulario a un diccionario data=. El comando se analiza en tu navegador y nunca se sube.

Categoría: API.

Preguntas frecuentes

¿Qué biblioteca de Python usa el código generado?

▾

Usa requests, un paquete de terceros que instalas con pip install requests. Las llamadas son síncronas: requests.get, requests.post y los demás métodos auxiliares, o requests.request('PURGE', ...) para métodos no estándar, y el script termina con print(response.json()).

¿Cómo se convierte a Python un cuerpo JSON de -d?

▾

Si el cuerpo es JSON válido, se reescribe como un diccionario de Python y se pasa como json=, con true, false y null convertidos en True, False y None. El encabezado Content-Type se omite porque requests define application/json por su cuenta al usar json=.

¿requests envía los campos -F como multipart/form-data?

▾

No. Los campos -F, al igual que los datos -d enviados con Content-Type: application/x-www-form-urlencoded, se convierten en un diccionario data= que requests envía como un formulario común, codificado como URL. Para multipart o subida de archivos, muévelos a files=; un valor como @foto.jpg se copia como texto plano.

¿Cómo se manejan -u, -k, -b y --max-time en el código Python?

▾

-u usuario:clave se convierte en auth=('usuario', 'clave'), y además se escribe un encabezado Authorization Basic equivalente, que puedes borrar. -k, -b y --max-time no se traducen, así que agrega verify=False, cookies= o timeout= a mano; las redirecciones no necesitan ninguna opción porque requests las sigue por defecto.

Herramientas relacionadas