Cómo usarla
- Copia una solicitud como curl, por ejemplo desde las herramientas para desarrolladores de tu navegador (pestaña Red, clic derecho, Copiar como cURL) o desde la documentación de la API.
- Pégalo en el cuadro. Las continuaciones de línea con \ son válidas.
- Elige JavaScript fetch, Node.js axios, Python requests o PHP cURL.
- Lee las notas debajo del código y luego copia o descarga el resultado.
Cómo funciona
El conversor primero divide el comando en palabras como lo hace un shell POSIX: se entienden las comillas simples, las comillas dobles con escapes de barra invertida, las cadenas $'…' y las continuaciones de línea con barra invertida. Las variables de shell como $TOKEN no se expanden; permanecen como texto.
Opciones de curl admitidas: la URL (o --url), -X/--request, -H/--header, -d/--data, --data-ascii, --data-raw, --data-binary, --data-urlencode, --json, -F/--form y --form-string (campos y cargas de archivos @file con ;type=), -u/--user, -G/--get, -I/--head, -A/--user-agent, -e/--referer, -b/--cookie (cadenas de cookies), -L/--location y --compressed.
Las opciones cortas se pueden combinar, como en -sSL, y los valores pueden ir pegados, como en -XPOST.
Las reglas siguen a curl: varios valores de -d se unen con &; los datos hacen que la solicitud sea POST a menos que -X o -G indiquen lo contrario; -G añade los datos a la URL como cadena de consulta; --json establece las cabeceras Content-Type y Accept en application/json. Cuando el cuerpo es JSON y el Content-Type así lo indica, el código envía un objeto real (json= en Python, un array con json_encode en PHP) en lugar de una cadena escapada. En los formularios multipart, la cabecera Content-Type se deja a la biblioteca para que el delimitador sea correcto.
-k/--insecure se ignora a propósito y una nota lo explica. Las opciones que solo cambian la salida del propio curl (-s, -S, -v, -i, -o, --fail y similares) se ignoran con una nota. Cualquier otra opción genera un error claro que la menciona, en lugar de código que haga algo diferente en silencio. Queda una diferencia: curl sigue las redirecciones solo con -L, mientras que fetch, axios y requests las siguen de forma predeterminada; el código PHP las sigue solo cuando se indicó -L.
La herramienta solo escribe código. Nunca envía la solicitud, por lo que los tokens y las contraseñas del comando no se utilizan en ningún sitio.
Ejemplos
Reproducir una solicitud del navegador en Python
Copia una llamada API que falla desde la pestaña Red de Chrome como cURL y conviértela a Python requests. Los encabezados, las cookies y el cuerpo JSON se incluyen, así puedes reproducir el error en un script.
Usar documentación de API en Node.js
Una referencia de API muestra “curl -u key: https://api.example.com/v1/charges -d amount=2000 -d currency=eur”. La versión de axios usa auth: { username: "key", password: "" } y un cuerpo codificado como formulario.
Subida de archivos en PHP
“curl -F 'file=@invoice.pdf;type=application/pdf' -F 'note=March' https://x.io/upload” se convierte en CURLOPT_POSTFIELDS con new CURLFile('invoice.pdf', 'application/pdf') y el campo note.
Preguntas frecuentes
¿Esta herramienta envía mi solicitud?
No. Solo analiza el texto del comando y escribe código. No se realiza ninguna solicitud, por lo que las claves de API o cookies del comando no se usan ni se almacenan.
¿Por qué no se convierte -k/--insecure?
Desactivar la verificación de certificados deja la conexión expuesta a interceptación. El código generado mantiene las comprobaciones activadas; si el certificado de un servidor no es de confianza, corrige el certificado o el almacén de confianza en su lugar.
¿Por qué aparece “opción no compatible”?
El conversor solo traduce opciones cuyo significado puede reproducir exactamente. Los proxies, certificados de cliente, almacenes de cookies y opciones similares se rechazan para que no obtengas código que se comporte de manera distinta a curl.
¿Funciona con comandos de Windows cmd?
Los comandos copiados como “cURL (bash)” funcionan mejor. Windows cmd usa ^ para la continuación de línea y un entrecomillado distinto; se acepta ^ al final de línea, pero puede que otras secuencias de escape de cmd no se acepten.
Privacidad
El comando se analiza únicamente en el navegador y no se envía ninguna solicitud. No se sube, almacena ni incluye nada en analíticas.