Conversor de cURL a Python

Pegue un comando curl de su terminal, de un manual o del menú de copiar de un navegador. Obtendrá código Python que hace la misma petición con la biblioteca requests, y una lista de lo que se convirtió cada opción.

Gratuita Funciona en su navegador Revisada: martes, 10 de noviembre de 2026

Un solo comando. Las comillas y los saltos de línea escritos con una barra invertida se leen como lo haría un shell. No pegue una contraseña o un token real que quiera mantener privado.

Resultado

Código Python — Cópielo en un script. Necesita tener instalada la biblioteca requests.
Código Python
Código JavaScript fetch

Qué hizo la traducción

Esta herramienta funciona en su navegador. Lo que escribe no se envía a nosotros.

Cómo se usa

  1. Pegue un comando curl en Comando curl. Mantenga las comillas alrededor de los valores que contienen espacios.
  2. Lea Qué hizo la traducción para comprobar cada opción: el verbo, la cadena de consulta, el cuerpo y las cabeceras.
  3. Copie el Código Python en su script, con la biblioteca requests instalada, o el Código JavaScript fetch en una página.
  4. Si aparece una nota o un error, corrija primero el comando y después copie de nuevo el código.

Qué opciones de curl lee la herramienta

La herramienta lee las opciones que usan la mayoría de las peticiones. Cada una cambia la llamada de Python de una forma conocida, y cualquier otra opción detiene la traducción con un mensaje, así que nada se adivina.

  • -X y --request fijan el verbo, tal como se escribe. El manual dice que solo cambia la palabra enviada.
  • -H y --header añaden cabeceras. Una línea como X-Flag; envía un valor vacío, y -H con un valor vacío tras los dos puntos quita una cabecera.
  • -d, --data, --data-raw y --data-binary fijan el cuerpo. Varios valores -d se unen con &. Con -G pasan a ser la cadena de consulta.
  • -G y --get, -I y --head, y -L y --location cambian el verbo o el manejo de las redirecciones.
  • -u y --user, -A y --user-agent, y -b y --cookie fijan la tupla de autenticación, la cabecera User-Agent y la cabecera Cookie.
  • --json envía el valor como cuerpo y fija las cabeceras JSON, que -H puede sustituir.

Cómo se lee el comando

El texto se divide en palabras como lo hace un shell POSIX. Las comillas simples conservan cada carácter. Dentro de comillas dobles, una barra invertida solo escapa los caracteres $, comilla invertida, comilla doble, barra invertida y salto de línea. Una barra invertida al final de una línea la une con la siguiente. Las expansiones del shell, como $HOME, no se ejecutan, así que esos valores se indican como errores.

Lo que la herramienta no comprueba

  • No envía la petición, así que no puede saber si el servidor la acepta.
  • Un navegador aplica sus reglas de origen cruzado a fetch. Una petición a otro sitio puede bloquearse allí, aunque el mismo comando funcione en una terminal. La herramienta no lo prueba.
  • No abre archivos indicados con @, y no lee archivos de cookies.
  • Escribe solo Python. El código usa la biblioteca requests, que usted instala por separado.

Ejemplo resuelto: un PUT con cuerpo JSON

El comando envía un PUT a un elemento con un cuerpo JSON. El verbo viene de -X, la cabecera de -H y el cuerpo de -d. La llamada de Python tiene las mismas tres partes, y la lista de pasos indica qué opción dio cada valor.

Opción de curl Argumento de Python Valor en el código
-X PUT method 'PUT'
-H 'Content-Type: application/json' headers 'Content-Type': 'application/json'
-d '{"name": "Ada"}' data '{"name": "Ada"}'

Preguntas frecuentes

¿Por qué el código usa requests y no otra biblioteca?

requests es la biblioteca de Python a la que traduce la herramienta, y su función request recibe el verbo, la URL, las cabeceras, los datos y la autenticación en una sola llamada. La misma llamada sirve para cada verbo que indique el comando.

¿Por qué mi petición se envía como POST si no escribí -X?

El manual de curl dice que -d usa POST, y --json también envía un POST. Escriba -X con el verbo que quiera, como -X PUT, para cambiar la palabra enviada.

¿Qué hace -G en la traducción?

Pasa los datos de -d a la URL como cadena de consulta y convierte la petición en un GET, como describe el manual. La llamada de Python tiene entonces la URL completa y ningún cuerpo.

¿Se envían a algún sitio las contraseñas de mi comando?

No. El comando se lee en su navegador, y nada se guarda ni se envía. Aun así, use una contraseña o un token de prueba en una página que no controle.

¿Por qué la salida menciona las redirecciones?

curl sigue las redirecciones solo con -L. requests las sigue por defecto para cualquier verbo, y fetch también, así que la nota le dice cómo igualar una llamada de curl que no tiene -L.

¿La herramienta puede leer datos de un archivo indicado con @?

No. La herramienta no abre archivos, así que un valor con @ se indica como error. Pegue los datos directamente en el comando.

Fuentes

Cifras y texto revisados por última vez el martes, 10 de noviembre de 2026.

Usamos cookies necesarias para que el sitio funcione. Si usted lo acepta, Google también usa cookies publicitarias para mostrar anuncios personalizados. Si las rechaza, seguirá viendo anuncios, pero no estarán personalizados.