Conversor de fetch a curl
Pega una llamada fetch() de JavaScript y conviértela al instante en un comando curl equivalente. El conversor lee la URL, el método, los encabezados y el cuerpo de la solicitud desde tu código fetch() e imprime un comando curl limpio y listo para copiar, con el escape de shell correcto. Todo se ejecuta en tu navegador, el código se analiza como texto y la solicitud nunca se envía.
El conversor de fetch a curl de ToolsSoup transforma una llamada fetch() de JavaScript en un comando curl equivalente con un clic. Pega un fragmento fetch() de tu código, de la pestaña de red del navegador o de la documentación de una API, y la herramienta lee la URL, el método, los encabezados y el cuerpo de la solicitud y los reescribe como un comando curl listo para ejecutar. Asigna el método a -X, cada encabezado a un -H y el cuerpo a -d, con el escape de comillas simples correcto para que el comando se pueda pegar directamente en la terminal. El código se analiza como texto y nunca se ejecuta, y la solicitud nunca se envía, así que todo permanece en tu navegador.
¿Qué hace el conversor de fetch a curl?
La API fetch() de JavaScript y un comando curl describen la misma solicitud HTTP en dos lenguajes diferentes. Este conversor es el inverso de una herramienta de curl a fetch: lee una llamada fetch() y la reescribe como curl. Extrae la URL del primer argumento y luego lee el objeto de opciones para obtener el método, los encabezados y el cuerpo. El método HTTP se convierte en -X (y se omite en un GET simple), cada encabezado se convierte en su propio -H y el cuerpo se convierte en -d. Cuando el cuerpo se escribe como JSON.stringify de un objeto, el JSON interno se emite como dato del curl, para que el comando envíe la misma carga que enviaría tu llamada fetch().
Cómo convertir fetch a curl
Transforma una llamada fetch() en un comando curl en pocos segundos:
- Pega tu llamada fetch() completa en el cuadro de entrada, incluida la cadena de la URL y el objeto de opciones.
- Haz clic en Convertir a curl para generar el comando equivalente.
- Revisa el comando curl, el método -X, los encabezados -H y el cuerpo -d en el panel de salida.
- Copia el comando y pégalo directamente en tu terminal.
¿Qué formatos de fetch() son compatibles?
El conversor maneja los formatos de solicitud que escribes con más frecuencia. La URL se toma del primer argumento de texto de fetch(). En el objeto de opciones lee un método en texto, un valor de encabezados escrito como objeto literal (o como una llamada new Headers({...}), o como un array de pares clave/valor) y un cuerpo escrito como literal de texto o como JSON.stringify de un objeto. Para un cuerpo JSON.stringify, el objeto interno se emite como dato JSON compacto. Las comillas simples, las comillas dobles, los template literals y los caracteres con escape de tus cadenas se decodifican correctamente antes de aplicarles el escape de shell para curl.
¿Por qué usar este conversor de fetch a curl?
- Analiza tu llamada fetch() como texto y nunca la ejecuta, así que el código pegado no puede correr.
- Asigna el método a -X, los encabezados a -H y el cuerpo a -d en un comando curl limpio.
- Maneja encabezados como objeto literal, llamada Headers() o array de pares clave/valor.
- Emite el JSON interno de un cuerpo JSON.stringify como dato del curl.
- Aplica el escape a los valores con comillas simples correctas para que el comando sea seguro de pegar.
- Se ejecuta enteramente en tu navegador y nunca envía la solicitud a ningún lugar.
Preguntas frecuentes
¿Esta herramienta ejecuta mi código fetch() o envía la solicitud?
No. El conversor lee tu llamada fetch() como texto puro y la analiza; nunca evalúa el código ni hace la solicitud HTTP. Como nada se ejecuta ni se envía desde esta página, la herramienta funciona totalmente en el navegador, sin límites de origen cruzado ni de red.
¿Cómo elige el método del curl?
Si el objeto de opciones incluye un método, ese valor se usa como -X. Un GET simple se omite, ya que curl usa GET de forma predeterminada, lo que mantiene el comando corto. Cualquier otro método, como POST, PUT, PATCH o DELETE, se escribe explícitamente con -X.
¿Cómo se tratan los cuerpos de la solicitud?
Un cuerpo en texto se convierte en el dato -d tal cual. Un cuerpo escrito como JSON.stringify de un objeto se decodifica en JSON compacto y se emite como dato -d, para que el comando curl envíe la misma carga. Los objetos con claves sin comillas o con comillas simples se normalizan primero en JSON válido.
¿Qué formatos de encabezado entiende?
Los encabezados escritos como objeto literal, como { \u0022Content-Type\u0022: \u0022application/json\u0022 }, son totalmente compatibles, incluido un envoltorio new Headers({ ... }). También se maneja un array de pares [clave, valor]. Cada encabezado se convierte en su propio -H 'Clave: Valor' en la salida.
¿Por qué los valores se envuelven en comillas simples?
curl se ejecuta en un shell, así que los valores que contienen espacios o caracteres especiales necesitan comillas. El conversor envuelve cada valor de encabezado y de cuerpo en comillas simples y usa el truco estándar '\u005c'' para escapar cualquier comilla simple interna, que es la forma más segura de pasar texto arbitrario a curl.