Convertir curl a JavaScript

curl2code convierte comandos curl a código JavaScript utilizando la API nativa fetch. Todo se ejecuta localmente en su navegador a través de WebAssembly para una privacidad total. Si necesita código Node.js para el servidor, pruebe nuestro conversor de curl a Node.js. Para seguridad de tipos, consulte el conversor de curl a TypeScript. A continuación se presentan ejemplos prácticos para patrones HTTP comunes.

Cómo copiar curl desde su navegador

  1. 1

    Abrir DevTools

    Presione F12 o Ctrl+Shift+I para abrir las herramientas de desarrollo de su navegador.

  2. 2

    Vaya a la pestaña Network

    Haga clic en la pestaña Network y realice la acción que activa la solicitud HTTP.

  3. 3

    Copiar como cURL

    Haga clic derecho en la solicitud → CopyCopy as cURL. Luego péguelo arriba.

Preguntas frecuentes

¿Qué es la Fetch API?

La Fetch API es una interfaz moderna basada en promesas integrada en todos los navegadores para realizar solicitudes HTTP. Reemplaza al antiguo XMLHttpRequest con una API más limpia y potente. Fetch admite streaming, objetos de solicitud/respuesta, CORS y se integra naturalmente con async/await. No necesita instalación; está disponible de forma global. curl2code utiliza Fetch como la salida predeterminada para las conversiones de JavaScript.

Fetch vs XMLHttpRequest vs jQuery.ajax — ¿cuál debería usar?

Fetch es el estándar moderno; úsalo para proyectos nuevos. XMLHttpRequest es heredado pero aún funciona en todas partes y admite eventos de progreso de forma nativa. jQuery.ajax añade comodidad si jQuery ya está en tu proyecto. Para JavaScript del lado del servidor, consulta nuestro conversor de curl a Node.js. Para seguridad de tipos, prueba curl a TypeScript.

¿Cómo manejar la autenticación con Fetch?

Pasa un encabezado Authorization en la opción headers: fetch(url, { headers: { "Authorization": "Bearer token" } }). Para la autenticación Basic, codifica las credenciales con btoa(user + ':' + pass). curl2code detecta automáticamente las etiquetas -u y -H 'Authorization: ...'.

¿Cómo enviar datos de formulario multipart con Fetch?

Crea un objeto FormData y pásalo como cuerpo: fetch(url, { method: "POST", body: formData }). No establezcas el Content-Type manualmente; el navegador añade el límite multipart automáticamente. curl2code convierte las etiquetas -F a FormData.

¿Cómo manejar errores con Fetch?

Fetch solo rechaza en fallos de red, no en errores HTTP. Comprueba siempre response.ok o response.status antes de leer el cuerpo. Envuelve las llamadas en try/catch con async/await para manejar tanto los errores de red como los de análisis en un solo lugar.

¿Cómo usar async/await con Fetch?

Fetch devuelve una Promise, así que usa const response = await fetch(url) seguido de const data = await response.json(). Envuélvelo en un bloque try/catch para el manejo de errores. Esto es más limpio que las cadenas .then() y es el patrón recomendado para el JavaScript moderno.

¿Cómo establecer un tiempo de espera para las solicitudes Fetch?

Usa AbortController: crea un controlador, pasa { signal: controller.signal } a fetch y llama a controller.abort() después de un retraso con setTimeout. Los navegadores modernos también admiten AbortSignal.timeout(5000) como una solución más sencilla de una sola línea. El --max-time de curl se asigna a este patrón.

¿Cómo manejar problemas de CORS con Fetch?

CORS es aplicado por el navegador, no por Fetch en sí. Establece mode: 'cors' (el predeterminado) y asegúrate de que el servidor envíe los encabezados Access-Control-Allow-Origin adecuados. Para credenciales (cookies), añade credentials: 'include'. CORS no se aplica al código del lado del servidor; para eso, consulta nuestro conversor de curl a Node.js.

¿Cómo enviar una solicitud POST con un cuerpo JSON en JavaScript?

Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL a JavaScript usando curl2code. El código generado utiliza fetch(url, { method: 'POST', body: JSON.stringify(data), headers: {'Content-Type': 'application/json'} }). curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de fetch.

¿Cómo añadir autorización con token Bearer en JavaScript?

Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de fetch con el encabezado de autorización: headers: { 'Authorization': 'Bearer YOUR_TOKEN' }. curl2code detecta tokens Bearer tanto en los flags -H "Authorization: Bearer ..." como en --oauth2-bearer. Para Basic auth, utiliza -u user:pass.

¿Cómo configurar el encabezado Content-Type en JavaScript?

curl2code convierte curl -H "Content-Type: application/json" URL a código de fetch con el encabezado correcto: headers: { 'Content-Type': 'application/json' }. Para los datos de -d, curl utiliza por defecto application/x-www-form-urlencoded; para subidas de formularios con -F, utiliza multipart/form-data. curl2code mapea cada uno a la API de fetch correcta.

Enlaces útiles

Guías de curl

Convertir curl a otros lenguajes