Cómo se usa
- Pegue un comando curl en Comando curl. Mantenga las comillas alrededor de los valores que contienen espacios.
- Lea Qué hizo la traducción para comprobar cada opción: el verbo, la cadena de consulta, el cuerpo y las cabeceras.
- Copie el Código Python en su script, con la biblioteca requests instalada, o el Código JavaScript fetch en una página.
- 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
- Manual de curl (en inglés): -X, -H, -d, -G, -I, -u, -A, -b, -L, --json y --basic
- Lenguaje de comandos del shell POSIX (en inglés), sección 2.2, Quoting (comillas)
- Requests (en inglés): referencia de la API para request, get, post y head
Cifras y texto revisados por última vez el martes, 10 de noviembre de 2026.