Conversor de curl a fetch

Pega un comando curl y conviértelo al instante en el código JavaScript fetch() equivalente. El conversor analiza la URL, el método, los encabezados, el cuerpo de la petición y la autenticación básica, y genera un código fetch() limpio y listo para copiar. Se ejecuta por completo en tu navegador y nunca envía la petición.


    

El Conversor de curl a fetch de ToolsSoup transforma un comando curl en el código JavaScript fetch() equivalente con un solo clic. Pega un comando que copiaste de la documentación, de la pestaña de red de tu navegador o de un compañero, y la herramienta analiza el método, los encabezados, el cuerpo, la autenticación básica y la URL de la petición en una llamada fetch() limpia que puedes pegar directamente en tu código. Entiende las comillas del shell, así que los argumentos entre comillas simples y dobles y las continuaciones de línea con barra invertida se gestionan correctamente. Todo se ejecuta localmente en tu navegador, y la petición nunca se envía.

¿Qué hace el conversor de curl a fetch?

Los comandos curl y la API fetch() de JavaScript describen la misma petición HTTP en dos lenguajes diferentes. Este conversor lee un comando curl, del tipo que encuentras en la documentación de APIs o copias desde el menú Copiar como cURL de tu navegador, y lo reescribe como una llamada fetch(). Mapea -X al método, cada -H a una entrada de headers, -d y sus variantes al cuerpo de la petición, y -u a un encabezado Authorization Basic. Cuando hay datos pero no se indica ningún método, asume POST, igual que hace curl; de lo contrario, el método predeterminado es GET. La salida es código fetch() formateado y listo para copiar, con una cadena .then() lista para usar.

Cómo convertir curl a fetch

Convierte cualquier comando curl en unos segundos:

  1. Pega tu comando curl completo en la casilla de entrada, incluyendo cualquier opción -X, -H, -d o -u.
  2. Haz clic en Convertir a fetch para generar el JavaScript equivalente.
  3. Revisa la llamada fetch(), el objeto de encabezados y el cuerpo de la petición en el panel de salida.
  4. Copia el código y pégalo en tu proyecto.

¿Qué opciones de curl se admiten?

El conversor gestiona las opciones que usas con más frecuencia. -X o --request define el método HTTP. -H o --header añade encabezados de petición. -d, --data, --data-raw y --data-binary definen el cuerpo. -u o --user se convierte en un encabezado Authorization Basic. --url y un argumento de URL suelto definen la URL de la petición. -L o --location y -k o --insecure se reconocen y se indican en la salida, ya que fetch ya sigue las redirecciones y los navegadores no pueden omitir las comprobaciones de TLS. Las opciones que solo afectan a la salida, como -s, -i y -v, se ignoran porque no tienen efecto en la petición de JavaScript.

¿Por qué usar este conversor de curl a fetch?

  • Interpreta las comillas del shell correctamente: comillas simples, comillas dobles, caracteres escapados y continuaciones de línea con barra invertida.
  • Mapea el método, los encabezados, el cuerpo y la autenticación básica a una llamada fetch() limpia.
  • Asume POST cuando hay un cuerpo y no se ha definido ningún método, igual que curl.
  • Detecta los cuerpos JSON y los envuelve con JSON.stringify para un código más legible.
  • Añade una cadena de respuesta .then() lista para usar, de modo que el fragmento funciona de inmediato.
  • Se ejecuta por completo en tu navegador y nunca envía la petición a ningún sitio.

Preguntas frecuentes

¿Esta herramienta envía la petición HTTP?

No. Solo convierte el texto del comando curl en código JavaScript fetch(). Nada se solicita ni se envía desde esta página, así que el conversor funciona totalmente del lado del cliente, sin límites de origen cruzado ni de red.

¿Cómo decide el método HTTP?

Si el comando curl incluye -X o --request, se usa ese método. Si no, el método predeterminado es GET, salvo que el comando envíe datos con -d o --data, en cuyo caso el predeterminado pasa a ser POST. Esto refleja cómo el propio curl elige el método.

¿Cómo se gestionan los cuerpos de la petición?

Cada valor de -d, --data, --data-raw y --data-binary se convierte en el cuerpo de la petición, unidos con un ampersand cuando hay varios. Si hay un encabezado Content-Type de application/json y el cuerpo es JSON válido, el cuerpo se emite como JSON.stringify del objeto analizado, para un código más limpio y editable.

¿Qué pasa con -u para la autenticación básica?

Un valor -u o --user con el formato usuario:contraseña se convierte en un encabezado Authorization usando el esquema Basic con una credencial codificada en Base64, que es exactamente lo que envía curl. Las credenciales se codifican localmente en tu navegador y esta herramienta nunca las transmite.

¿Por qué -L y -k solo aparecen como comentarios?

La API fetch ya sigue las redirecciones de forma predeterminada, así que -L o --location no necesita ninguna opción extra. Los navegadores no pueden desactivar la verificación del certificado TLS, así que -k o --insecure no tiene equivalente en fetch. El conversor añade un comentario breve para explicar cada caso en lugar de emitir código que no funcionaría.