Conversor de cURL a Go (net/http)

Convierte un comando cURL en un fragmento de código Go net/http con http.NewRequest, cabeceras y cuerpo

Datos clave

Categoría
Desarrollo y Web
Tipos de entrada
textarea, checkbox
Tipo de salida
text
Cobertura de muestras
4
API disponible
Yes

Resumen

Esta herramienta te permite convertir comandos cURL en código nativo de Go utilizando el paquete estándar net/http. Genera de forma instantánea la estructura necesaria para realizar peticiones HTTP, incluyendo la inicialización de http.NewRequest, la configuración de cabeceras personalizadas y el manejo del cuerpo de la petición.

Cuándo usarlo

  • Cuando necesitas integrar una petición HTTP externa probada en cURL dentro de una aplicación escrita en Go.
  • Al migrar scripts de shell o comandos de terminal a servicios backend desarrollados en Golang.
  • Durante la fase de depuración y desarrollo de APIs para generar rápidamente clientes HTTP en Go sin escribir código repetitivo.

Cómo funciona

  • Pega tu comando cURL completo en el campo de texto principal.
  • Configura las opciones para embellecer el cuerpo de la petición o incluir comentarios explicativos en el código generado.
  • Copia el código Go (net/http) resultante que incluye la creación del cliente, la petición, las cabeceras y el cuerpo de datos.

Casos de uso

Conversión de llamadas de API de documentación (usualmente provistas en cURL) a código Go.
Automatización de tareas de red y web scraping portando comandos cURL a binarios compilados en Go.
Creación rápida de pruebas de integración y clientes HTTP en microservicios Golang.

Ejemplos

1. Conversión de petición POST con JSON

Desarrollador Backend
Contexto
Un desarrollador necesita consumir un servicio de autenticación externo que solo proporciona un ejemplo de llamada en formato cURL con un cuerpo JSON.
Problema
Escribir manualmente la estructura de http.NewRequest, definir los headers de tipo de contenido y serializar el cuerpo en Go consume tiempo y puede generar errores de sintaxis.
Cómo usarlo
Introduce el comando cURL con el método POST y el payload JSON en el cuadro de entrada, activa la opción de embellecer el cuerpo y copia el código Go generado.
Configuración de ejemplo
curl -X POST https://api.example.com/login -H "Content-Type: application/json" -d '{"username":"user123","password":"secret"}'
Resultado
Se obtiene un código Go limpio que inicializa un bytes.NewBuffer con el JSON formateado y configura la cabecera Content-Type correctamente.

2. Migración de petición GET con cabeceras de autorización

Ingeniero de DevOps
Contexto
Un ingeniero de DevOps tiene un script de monitoreo en bash que realiza consultas a una API protegida mediante un token de portador (Bearer token).
Problema
El script de bash debe migrarse a una herramienta interna escrita en Go para mejorar el rendimiento y la seguridad.
Cómo usarlo
Pega el comando cURL que contiene la cabecera Authorization: Bearer y genera el código Go correspondiente.
Configuración de ejemplo
curl -H "Authorization: Bearer abc123xyz" https://api.example.com/status
Resultado
Genera un fragmento de código Go que incluye comentarios explicativos sobre cómo se añade el token de autorización al objeto de petición HTTP.

Probar con muestras

development

Hubs relacionados

Preguntas frecuentes

¿Qué paquete de Go utiliza el código generado?

Utiliza el paquete estándar net/http de Go, evitando dependencias externas.

¿Soporta peticiones POST con cuerpo JSON?

Sí, procesa los datos del parámetro -d o --data y los convierte en un lector de bytes compatible con Go.

¿Qué hace la opción "Embellecer el cuerpo"?

Formatea el cuerpo de la petición JSON o de texto para que sea más legible dentro del código Go generado.

¿Puedo incluir cabeceras personalizadas?

Sí, todos los parámetros -H o --header de cURL se convierten automáticamente en llamadas a req.Header.Set.

¿Es necesario instalar alguna librería en Go para usar este código?

No, el código generado utiliza únicamente la biblioteca estándar de Go.

Documentación de la API

Punto final de la solicitud

POST /es/api/tools/curl-to-go

Parámetros de la solicitud

Nombre del parámetro Tipo Requerido Descripción
curlCommand textarea -
prettyBody checkbox No -
includeComments checkbox No -

Formato de respuesta

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Texto: Texto

Documentación de MCP

Agregue este herramienta a su configuración de servidor MCP:

{
  "mcpServers": {
    "elysiatools-curl-to-go": {
      "name": "curl-to-go",
      "description": "Convierte un comando cURL en un fragmento de código Go net/http con http.NewRequest, cabeceras y cuerpo",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=curl-to-go",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Puede encadenar múltiples herramientas, por ejemplo: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máximo 20 herramientas.

Si encuentra algún problema, por favor, póngase en contacto con nosotros en [email protected]