Inicio › Herramientas para desarrolladores › Convertidor de cURL a código

Convertidor de cURL a código

Pega un comando curl, por ejemplo uno copiado de las DevTools de tu navegador con Copy as cURL, y obtén el código equivalente para JavaScript fetch, Axios, Python requests, Node.js, PHP y Go. Se convierten los encabezados, los cuerpos JSON y de formulario, las subidas de archivos, las cookies y la autenticación básica.

Última actualización:

Convertido localmente. Tu comando, tus tokens y tus cookies nunca salen de esta página.

Publicidad
Publicidad

Cómo usar Convertidor de cURL a código

  1. Copia un comando curl: en las DevTools de Chrome, Edge o Firefox abre la pestaña Network, haz clic derecho en una solicitud y elige Copy as cURL, o tómalo de la documentación de una API.
  2. Pégalo en el recuadro. Los comandos de varias líneas con continuaciones \ o ^ funcionan bien.
  3. Elige una pestaña de lenguaje: fetch, Axios, Python, Node.js, PHP o Go. El código se actualiza al instante.
  4. Revisa el resumen del método, la URL, los encabezados y el cuerpo, y lee los avisos sobre opciones no compatibles.
  5. Copia o descarga el código generado y añádelo a tu proyecto.

Cómo se traducen las opciones de curl a código

curlSignificadoPython requestsJavaScript fetch
-X PUTMétodo HTTPrequests.put(...)method: "PUT"
-H 'Name: value'Encabezado de la solicitudheaders={...}headers: {...}
-d 'a=1&b=2'Cuerpo de formulario; implica POST y application/x-www-form-urlencodeddata='a=1&b=2'body: "a=1&b=2"
--json '{...}'Cuerpo JSON más los encabezados JSON Content-Type y Acceptjson={...}body: JSON.stringify({...})
-F '[email protected]'Subida de formulario multipartfiles={...}body: formData
-G -d 'q=x'Envía los datos como cadena de consulta con GETse añade a la URLse añade a la URL
-u user:passAutenticación básica HTTPauth=('user', 'pass')Authorization: Basic …
-b 'k=v'Enviar cookiescookies={...}Encabezado Cookie
-LSeguir redireccionescomportamiento predeterminadocomportamiento predeterminado
-kOmitir la verificación del certificado TLSverify=Falseno es posible en fetch
-m 10Tiempo máximo en segundostimeout=10signal: AbortSignal.timeout(10000)

Reglas de comillas del shell que entiende el analizador

  • Comillas simples '...': conservan todo literalmente; es lo que usan los navegadores en “Copy as cURL (bash)”.
  • Comillas dobles "...": admiten los escapes \", \\, \$ y \`. Las variables del shell como $TOKEN se mantienen como texto literal, así que sustitúyelas por valores reales o lecturas de variables de entorno en tu código.
  • Cadenas ANSI-C $'...': decodifican \n, \t, \', \xHH y \uHHHH. Chrome las usa cuando un cuerpo contiene caracteres especiales.
  • Continuaciones de línea: una \ final (bash, zsh, macOS) o ^ (Windows cmd) une líneas. También se eliminan los escapes de Windows cmd como ^".

Consejos para código en producción

Los comandos copiados de un navegador suelen incluir decenas de encabezados (sec-ch-ua, sec-fetch-*, accept-language) que el servidor no necesita. Prueba a quitarlos uno a uno; normalmente solo importan Authorization, Content-Type y quizá una cookie. Pasa los tokens y las cookies a variables de entorno, añade manejo de errores para códigos de estado distintos de 2xx y define un tiempo de espera para que un servidor lento no bloquee tu programa.

Preguntas frecuentes

¿Cómo copio una solicitud como curl desde mi navegador?

Abre las DevTools (F12), ve a la pestaña Network, recarga la página, haz clic derecho en la solicitud y elige Copy > Copy as cURL (bash). En Windows, Chrome también ofrece Copy as cURL (cmd); este convertidor entiende ambos formatos.

¿Qué opciones de curl se admiten?

Las habituales: -X/--request, -H/--header, -d/--data, --data-raw, --data-binary, --data-urlencode, --json, -F/--form, -G/--get, -u/--user, -b/--cookie, -A/--user-agent, -e/--referer, -I/--head, -L/--location, -k/--insecure, --compressed, -m/--max-time y --url. Las opciones sin equivalente, como proxies o archivos de salida, se muestran como avisos.

¿Por qué mi solicitud con -d se convierte en POST?

Así funciona curl: enviar datos con -d o -F hace que curl use POST y, con -d, el Content-Type application/x-www-form-urlencoded, salvo que definas otro. Usa -G para enviar los datos como cadena de consulta con GET, o -X para forzar un método.

¿Es seguro pegar comandos con tokens o cookies?

La conversión se hace completamente en tu navegador con JavaScript; no se envía nada a ningún servidor. Aun así, el código generado contendrá los mismos secretos, así que pasa los tokens a variables de entorno antes de hacer commit del código.

¿Por qué fetch en el navegador no puede enviar mi encabezado Cookie?

Los navegadores consideran Cookie, User-Agent (en algunos navegadores), Host y algunos otros encabezados como prohibidos para fetch y los descartan sin avisar. El código generado es correcto para Node.js 18+ y otros entornos del lado del servidor; en un navegador, usa credentials: 'include' y deja que el navegador envíe sus propias cookies.

¿Gestiona la subida de archivos?

Sí. -F '[email protected]' se convierte en FormData en JavaScript, un diccionario files en Python, CURLFile en PHP y un multipart writer en Go. Como el archivo está en tu computadora, el código hace referencia a la misma ruta.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Conversores de datos y formatos de archivo →