🔁
Herramientas para Desarrolladores
May 21, 20267 min readBy BrowseryTools Team

Cómo Convertir cURL a Código (fetch, Python requests, Node.js)

Pega un comando cURL y obtén código JavaScript fetch, Python requests o Node.js funcional — incluido el truco de 'Copiar como cURL' de las DevTools. Aprende cómo se mapea cada opción al código para confiar en la salida, todo procesado localmente en tu navegador.

curl a códigocurl a fetchcurl a pythonconvertir curlcopiar como curlapi

Encontraste la llamada a la API que necesitas — pero está escrita en cURL y tú trabajas en JavaScript o Python. O abriste las DevTools de tu navegador, hiciste clic derecho en una petición y elegiste “Copiar como cURL,” y ahora tienes un muro de opciones que necesitas convertir en código real. Traducir cURL a mano es tedioso: cada -H, -d, -u y -X tiene que mapearse al argumento correcto en tu lenguaje, y una cabecera que falta rompe la petición.

El Conversor de cURL de BrowseryTools lo hace instantáneamente — pega un comando cURL y obtén código limpio en JavaScript fetch, Python requests, Node.js y más, todo en tu navegador sin nada subido. Esta guía muestra el mapeo de opciones a código para que puedas leer y confiar en la salida.

El Flujo de Trabajo de “Copiar como cURL”

La forma más rápida de obtener una petición funcional es dejar que el navegador la escriba por ti. Abre las DevTools (F12), ve a la pestaña Red, realiza la acción que quieres replicar, luego haz clic derecho en la petición y elige Copiar → Copiar como cURL. Ahora tienes un comando cURL con las cabeceras, cookies y cuerpo exactos que el sitio real envió. Pégalo en el conversor y obtendrás la misma petición como código que puedes usar directamente en tu proyecto.

Cómo Se Mapean las Opciones de cURL al Código

Una vez que conoces el puñado de opciones que importan, puedes leer cualquier comando cURL de un vistazo:

-X POST          ->  el método HTTP
-H "Key: Value"  ->  una cabecera de petición
-d '{...}'       ->  el cuerpo de la petición (implica POST)
-u user:pass     ->  autenticación básica HTTP
-F field=value   ->  subida multipart/form-data
-b "name=value"  ->  una cookie
-L               ->  seguir redirecciones

Una cabecera como -H "Authorization: Bearer abc123" se convierte en una entrada en el objeto headers. Un cuerpo pasado con -d se convierte en el cuerpo de la petición, y si el tipo de contenido es JSON se serializa adecuadamente. -u user:pass se convierte en una cabecera de autenticación básica. Conocer este mapeo es lo que te permite verificar el código generado en lugar de confiar ciegamente en él.

La Misma Petición en Tres Lenguajes

Toma un POST autenticado simple. En cURL:

curl -X POST https://api.example.com/users \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Ada"}'

Como JavaScript fetch:

fetch("https://api.example.com/users", {
  method: "POST",
  headers: {
    "Authorization": "Bearer TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ name: "Ada" }),
});

Como Python requests:

import requests

requests.post(
    "https://api.example.com/users",
    headers={"Authorization": "Bearer TOKEN"},
    json={"name": "Ada"},
)

Observa cómo el argumento json= de Python establece el cuerpo y la cabecera Content-Type automáticamente — una pequeña diferencia idiomática que el conversor maneja por ti.

Errores Comunes

Comillas y escapes. Los cuerpos de cURL se envuelven en comillas simples en el shell; cuando contienen JSON con comillas dobles, la traducción manual es donde se cuelan los errores. Dejar que un conversor lo analice elimina ese riesgo.

POST implícito. Usar -d convierte la petición en POST incluso sin -X POST. Si solo traduces las opciones visibles, podrías producir incorrectamente un GET.

Secretos en el comando. Un comando cURL copiado a menudo contiene tokens activos y cookies. Como el conversor funciona completamente en tu navegador, esos secretos nunca se envían a un servidor — pero deberías eliminarlos antes de pegar el código en un repositorio compartido o en un ticket.

Preguntas Frecuentes

¿A qué lenguajes puedo convertir? JavaScript fetch, Python requests, Node.js y otros destinos comunes.

¿El conversor envía mi comando a algún lugar? No. El análisis y la conversión ocurren localmente en tu navegador, por lo que cualquier token del comando permanece en tu dispositivo.

¿Puedo pegar un “Copiar como cURL” de las DevTools? Sí — ese es uno de los mejores usos. Captura las cabeceras y el cuerpo exactos de una petición real.

¿Es gratuito? Sí — sin cuenta, sin límites.

Convierte Ahora

Abre el Conversor de cURL, pega tu comando y copia el código equivalente. Para un análisis más profundo de la sintaxis de cURL y los patrones REST, lee nuestra guía para convertir peticiones API entre lenguajes, y para dar sentido a las respuestas que recibes consulta la guía de códigos de estado HTTP.


🛠️

Try the Tools — 100% Free, No Sign-Up

Everything runs in your browser. No uploads. No accounts. No ads.

Explore All Tools →