Conversor curl para Go

Converta um comando curl em código Go net/http instantaneamente no seu navegador. O comando permanece no seu dispositivo.

Seu comando curl é convertido para Go localmente no seu navegador e nunca é enviado, mas evite colar tokens ou credenciais reais de produção em qualquer ferramenta.

Precisa de uma versão JavaScript também? Experimente o cURL para Fetch.

Sobre curl para Go

Este conversor de curl para go reescreve um comando curl como Go idiomático usando o pacote padrão net/http, então você coloca uma chamada de API direto em um serviço Go sem configurá-la na mão. Como ferramenta de curl para golang, ele lê flags como -X, -H, -d, --data-raw, --json, -u, -b e -G, monta um http.NewRequest com o método correto, define cada cabeçalho com req.Header.Set e envolve o corpo em um strings.NewReader. O main() gerado lê a resposta com io.ReadAll e imprime o status, pronto para compilar com go run. Use-o ao portar um teste curl para um handler de backend, uma CLI ou um worker. A conversão acontece no seu navegador, então o comando e quaisquer tokens nele são processados localmente no seu dispositivo e nunca saem dele.

Recursos

Como usar curl para Go

  1. Cole seu comando curl na caixa de comando cURL.
  2. Leia o programa Go net/http gerado no painel de saída.
  3. Verifique o banner de avisos para quaisquer flags que foram ajustadas ou ignoradas.
  4. Clique em Copiar, ou baixe o arquivo como request.go e execute-o com go run.

Exemplo

Entrada

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

Saída

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))
}

Um GET sem corpo passa nil para http.NewRequest e pula o import strings.

Erros comuns e solução de problemas

Perguntas frequentes

Como converto um comando curl para Go?
Cole o comando curl na caixa de entrada e o conversor renderiza um programa Go net/http completo à direita que você pode copiar ou baixar como request.go.
O código Go gerado usa a biblioteca padrão?
Sim. Ele usa net/http, io, fmt e strings da biblioteca padrão apenas, então não há nada extra para fazer go get antes de executá-lo.
Como o corpo da requisição é representado em Go?
O corpo é envolvido em strings.NewReader e passado para http.NewRequest, e o import strings é adicionado automaticamente apenas quando um corpo está presente.
Posso rodar a saída diretamente com go run?
Sim. O conversor emite um package main completo com uma função main(), tratamento de erros básico e impressão da resposta, então go run request.go funciona como está.
Meu comando curl é enviado a um servidor quando eu o converto para Go?
Não. A conversão de curl para go roda inteiramente no seu navegador, então o comando e quaisquer segredos nele permanecem no seu dispositivo.

Ferramentas relacionadas

Todas as ferramentas de ArrayKit