Conversor de curl a Go

Convierte un comando curl a código de Go con net/http al instante en tu navegador. El comando permanece en tu dispositivo.

Tu comando curl se convierte a Go localmente en tu navegador y nunca se sube, pero evita pegar tokens o credenciales de producción reales en cualquier herramienta.

¿Necesitas también una versión en JavaScript? Prueba cURL a Fetch.

Acerca de curl a Go

Este conversor de curl a go reescribe un comando curl como Go idiomático usando el paquete estándar net/http, así puedes llevar una llamada a una API directo a un servicio en Go sin configurarla a mano. Como herramienta de curl a golang lee banderas como -X, -H, -d, --data-raw, --json, -u, -b y -G, construye un http.NewRequest con el método correcto, define cada cabecera con req.Header.Set y envuelve el cuerpo en un strings.NewReader. El main() generado lee la respuesta con io.ReadAll e imprime el estado, listo para compilar con go run. Úsalo cuando portes una prueba de curl a un manejador de backend, una CLI o un worker. La conversión ocurre en tu navegador, así que el comando y cualquier token que contenga se procesan localmente en tu dispositivo y nunca salen de él.

Características

Cómo usar curl a Go

  1. Pega tu comando curl en el cuadro del comando cURL.
  2. Lee el programa de Go con net/http generado en el panel de salida.
  3. Revisa el banner de advertencia por si hay banderas que se ajustaron u omitieron.
  4. Haz clic en Copiar, o descarga el archivo como request.go y ejecútalo con go run.

Ejemplo

Entrada

curl https://api.example.com/ping

Salida

package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    url := "https://api.example.com/ping"
    req, err := http.NewRequest("GET", url, nil)
    if err != nil {
        panic(err)
    }

    res, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer res.Body.Close()

    data, _ := io.ReadAll(res.Body)
    fmt.Println(res.Status)
    fmt.Println(string(data))
}

Un GET sin cuerpo pasa nil a http.NewRequest y omite el import strings.

Errores comunes y solución de problemas

Preguntas frecuentes

¿Cómo convierto un comando curl a Go?
Pega el comando curl en el cuadro de entrada y el conversor renderiza un programa de Go con net/http completo a la derecha que puedes copiar o descargar como request.go.
¿El código de Go generado usa la biblioteca estándar?
Sí. Usa net/http, io, fmt y strings solo de la biblioteca estándar, así que no hay nada extra que hacer con go get antes de ejecutarlo.
¿Cómo se representa el cuerpo de la solicitud en Go?
El cuerpo se envuelve en strings.NewReader y se pasa a http.NewRequest, y el import strings se añade automáticamente solo cuando hay un cuerpo presente.
¿Puedo ejecutar la salida directamente con go run?
Sí. El conversor emite un package main completo con una función main(), manejo básico de errores e impresión de la respuesta, así que go run request.go funciona tal cual.
¿Se envía mi comando curl a un servidor cuando lo convierto a Go?
No. La conversión de curl a go se ejecuta por completo en tu navegador, así que el comando y cualquier secreto que contenga permanecen en tu dispositivo.

Herramientas relacionadas

Todas las herramientas de ArrayKit