“Escribir este cURL en el código es un incordio…”

Usa “Copy as cURL” en las herramientas de desarrollo de su navegador para probar un endpoint. Funciona bien en la terminal — pero en el momento en que lo necesita en su propio programa (Python, JavaScript, lo que sea), tiene que volver a aprender cómo se escriben los headers y los cuerpos JSON en esa biblioteca.

El Convertidor de cURL convierte un comando curl pegado en código de solicitud HTTP en el lenguaje que elija, enteramente en su navegador — así que un comando que contiene un token de autenticación nunca sale de su equipo.

Convertidor de cURL: transforme instantáneamente cURL en su lenguaje de programación favorito

Lenguajes admitidos

const converters: Record<string, (curl: string) => string> = {
    python:     curlConverter.toPython,      // requests
    node:       curlConverter.toNodeFetch,
    javascript: curlConverter.toJavaScript,  // fetch
    go:         curlConverter.toGo,
    rust:       curlConverter.toRust,
    php:        curlConverter.toPhp,
    java:       curlConverter.toJava,
    r:          curlConverter.toR,
    elixir:     curlConverter.toElixir,
    dart:       curlConverter.toDart,
    json:       curlConverter.toJsonString,  // datos estructurados de la solicitud, no código
};

Se admiten Python (requests), JavaScript (fetch), Go, Rust, PHP, Java, R, Elixir y Dart.

Cómo usarlo

  1. Copie un comando curl desde las herramientas de desarrollo de su navegador o de la documentación de una API
  2. Péguelo en el Convertidor de cURL
  3. Elija su lenguaje de destino
  4. Confirme que Authorization, Content-Type y el cuerpo de la solicitud se reflejan correctamente
curl -X POST "https://api.example.com/users" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Taro","role":"admin"}'

Este comando incluye un método POST, un header de autenticación y un cuerpo JSON. El código generado debería reflejar cada uno de estos en el idioma propio de la biblioteca de destino.

Por qué esto necesita un analizador real, no expresiones regulares

Un comando curl está escrito en sintaxis de shell:

curl 'https://api.example.com/v1/items?q=a b' \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"name": "it'\''s"}'

Comillas simples/dobles anidadas, el truco de escape '\'', continuaciones de línea, variables de entorno, y más de 200 flags de curl — intentar manejar todo eso con expresiones regulares es una batalla perdida. La biblioteca detrás de esta herramienta, curlconverter, analiza el comando como sintaxis de shell en un árbol de análisis adecuado primero, luego extrae la información semántica de la solicitud (método, URL, headers, cuerpo) antes de generar código para cada lenguaje de destino. Analizarlo correctamente como shell es en lo que descansa la calidad de la conversión.

Una función útil oculta: salida JSON

Seleccionar json como lenguaje de destino no produce código — produce el desglose estructurado de la solicitud (método / URL / headers / cuerpo). Cuando quiere revisar “qué está enviando realmente este curl” en lugar de leer código, el desglose estructurado suele ser más claro.

Qué comprobar después de convertir

La conversión automática es un excelente punto de partida, pero revise esto antes de confirmarlo:

  • Mueva las claves de API y los tokens a variables de entorno
  • Extraiga la URL a configuración o a una constante
  • Configure un tiempo de espera
  • Añada manejo de respuestas de error
  • Añada análisis JSON y definiciones de tipo
  • Separe los endpoints de producción y desarrollo

En particular, nunca codifique directamente en su código un header Authorization proveniente de un comando curl. Está bien para una comprobación rápida, pero mueva los secretos a variables de entorno o a un gestor de secretos antes de publicar.

Por qué se queda en el navegador

Los comandos curl a menudo contienen headers Authorization, cookies o URLs de API internas. Enviar eso a un servicio externo solo para convertirlo va en contra del propósito — así que curlconverter está empaquetado para ejecutarse enteramente del lado del cliente, y nada de lo que pega toca nunca la red.

Preguntas frecuentes

¿Funciona la salida de “Copy as cURL”?

Sí. Los comandos copiados desde Chrome DevTools (incluyendo headers y cookies) se convierten correctamente. Si el comando incluye cookies o tokens, enmascárelos antes de compartir el resultado con cualquiera.

¿Puede convertir a Python requests o JavaScript fetch?

Sí — se admiten Python (requests), JavaScript (fetch), Go, Rust, PHP, Java, R, Elixir y Dart. Elija el que coincida con las convenciones de su proyecto.

¿Puedo usar el código convertido tal cual en producción?

Es un excelente punto de partida, pero el código de producción debería añadir manejo de errores, tiempos de espera y una gestión adecuada de credenciales. Trate el código generado como un andamiaje sobre el que construir, adaptado al diseño de su proyecto.

¿Se envía a algún sitio el comando curl que pego?

No. La conversión se ejecuta enteramente en su navegador — curlconverter está empaquetado del lado del cliente, así que su comando nunca se transmite a un servidor.

Resumen

  • Analizar curl correctamente requiere análisis de sintaxis de shell; las expresiones regulares por sí solas fallan
  • El modo de salida json es útil para entender qué envía realmente una solicitud
  • Como los comandos suelen llevar tokens, que todo se ejecute del lado del cliente importa
  • El código generado es un andamiaje — añada usted mismo credenciales por variable de entorno y manejo de errores

Dele a su integración de API un comienzo más rápido.