Conversor de cURL

Paso 1 / 4Conversor de cURL

Pega un comando cURL

Máximo de 256 KiB, 4096 tokens de shell, 200 cabeceras y 128 KiB de datos en el cuerpo.

Convierte un comando cURL con sintaxis POSIX en código Fetch para navegador o Node.js, Python Requests o PHP cURL sin ejecutar la solicitud. El conversor reconoce métodos habituales, cabeceras repetidas, cuerpos en línea, campos codificados para URL, autenticación básica, cookies, campos multipart de texto, redirecciones y compresión. Bloquea las opciones que leen archivos, usan certificados o proxys, o escriben resultados, y muestra exactamente qué ha interpretado antes de generar el código. Los comandos de hasta 256 KiB permanecen en tu navegador.

Cómo funciona

  1. 1

    Pega el comando

    Añade un único comando cURL con sintaxis POSIX. Las comillas del shell y las continuaciones de línea escapadas se interpretan localmente, sin ejecutarse.

  2. 2

    Revisa la solicitud

    Comprueba la URL, el método, las cabeceras, el cuerpo, los campos de formulario, las advertencias y las opciones bloqueadas.

  3. 3

    Elige un destino

    Genera código Fetch para navegador o Node.js, Python Requests o PHP cURL, y después cópialo o descárgalo.

Qué conserva el conversor

El analizador sigue las reglas habituales de comillas del shell POSIX para un único comando cURL. Admite -X/--request, varias opciones -H/--header, -d/--data/--data-raw, --data-urlencode, -u/--user, -b/--cookie, campos de texto -F/--form, -L y --compressed. Las continuaciones de línea escapadas se unen antes de separar los tokens. La página oficial del manual de cURL indica que las opciones de cabecera y formulario pueden repetirse; el conversor conserva su orden y avisa si la biblioteca de destino puede combinar nombres duplicados.

Entrada cURL Equivalente generado Límite importante
-H 'Name: value' Colección de cabeceras del destino Los nombres duplicados pueden combinarse
-d 'a=1' Cuerpo de texto de la solicitud Varios valores se unen con &
--data-urlencode 'q=a b' Cuerpo de texto con codificación porcentual Las variantes basadas en archivos se bloquean
-F 'name=value' Campo multipart de texto @file y <file se bloquean
-L Opción para seguir redirecciones La seguridad de las redirecciones depende del entorno de ejecución

Fetch en el navegador no permite definir algunas cabeceras de solicitud restringidas, entre ellas Cookie. Si existe una cadena de cookies, el código para navegador usa credentials: "include" y advierte de que no es una sustitución exacta. MDN documenta Fetch como la interfaz del navegador para realizar solicitudes de red. El código generado es solo un punto de partida: siguen siendo aplicables CORS, las credenciales, las redirecciones y las políticas del servidor.

Límites de seguridad

El conversor nunca ejecuta el comando ni contacta con su URL. Se bloquean las opciones que leen archivos locales, suben archivos, seleccionan certificados de cliente, configuran proxys, resuelven hosts de forma especial o escriben la salida de la transferencia. Esto incluye valores de cuerpo o cabecera @file, --upload-file, opciones de certificado o clave, opciones de proxy y opciones de salida, configuración o trazas. Las opciones no compatibles o desconocidas se bloquean en lugar de interpretarse por aproximación.

El código generado puede seguir conteniendo secretos. Revisa los valores de autenticación básica, las cookies y las cabeceras de autorización antes de guardarlo o compartirlo. Para Python, la salida sigue las convenciones de la API de Requests para métodos, cabeceras, autenticación y tiempos de espera. La salida PHP utiliza curl_setopt_array; el manual de PHP explica que cada valor CURLOPT_* configura el identificador de transferencia.

Privacidad y límites

El análisis y la generación se realizan con Alpine dentro de este navegador. El comando, la solicitud interpretada y el código nunca son propiedades en el servidor ni se incluyen en la URL del embudo. Durante el flujo de cuatro pasos, el comando y el destino elegido se guardan durante un máximo de dos horas en IndexedDB, limitado a esta pestaña; empezar de nuevo elimina el registro. Los límites de 4096 tokens, 200 cabeceras y 128 KiB de datos del cuerpo evitan un análisis sin límites. La herramienta procesa una única URL HTTP o HTTPS y no emula un shell completo ni todas las opciones de cURL.

Preguntas frecuentes

No. Separa e interpreta el texto localmente. Nunca envía la solicitud, resuelve el host, abre un proxy ni lee un archivo referenciado.

Las opciones de archivos, certificados, proxys, resolución personalizada, salida y trazas pueden sobrepasar el límite seguro de solo texto. El conversor las bloquea en vez de fingir que el código generado es equivalente.

JavaScript en el navegador no puede definir directamente la cabecera Cookie. El código para navegador usa credentials: include, que envía las cookies ya disponibles para una solicitud permitida del mismo sitio o mediante CORS.

No. Los comandos permanecen en la memoria del navegador y, durante el embudo, en IndexedDB de forma temporal. Sin embargo, el código generado puede contener los mismos secretos; elimínalos antes de compartirlo o incluirlo en un commit.

Herramientas relacionadas

Herramienta disponible en otros idiomas