Referência técnica e guia de arquitetura

Guia de cURL para Go (net/http) Client — Guia de referência

Converta comandos cURL em código Go robusto e idiomático usando net/http, fasthttp ou go-resty. Fechamento seguro de streams e total privacidade.

Parâmetros principais e controles

rawCurlstring

Comando cURL bruto de terminal ou documentação.

Padrão: Auto
deferCloseboolean

Gera defer resp.Body.Close() para impedir vazamento de conexões.

Padrão: true
includeContextboolean

Adiciona context.WithTimeout para limitar o tempo de execução.

Padrão: false
printResponseboolean

Inclui leitura e exibição do corpo da resposta com io.ReadAll.

Padrão: true

Dicas profissionais e melhores práticas

defer resp.Body.Close() é fundamental

Em Go, esquecer de fechar resp.Body causa vazamentos de descritores de rede. Chame defer logo após checar err == nil.

Reaproveite o http.Client entre goroutines

O http.Client do Go gerencia pools de conexões TCP de forma concorrente e segura. Evite alocar um novo cliente por requisição.

Defina limites explícitos de Timeout

O http.DefaultClient não possui timeout pré-definido. Sempre especifique client.Timeout para evitar travamentos indefinidos.

Problemas comuns e solução de problemas

Erro undefined: strings.NewReader no build

Confirme se os pacotes "strings" e "io" estão devidamente declarados nos imports.

A API de destino retorna EOF prematuro

Verifique se o cabeçalho Content-Type está devidamente configurado via req.Header.Set().

Perguntas frequentes (FAQ)

Qual a relevância do defer resp.Body.Close()?▼

Ele devolve a conexão TCP para o pool de transporte para reúso eficiente. Sem ele, os limites do sistema operacional são atingidos.

Como o cURL Basic Auth é convertido?▼

Através de req.SetBasicAuth("user", "password"), que formata o cabeçalho Authorization.

É possível gerar código para fasthttp ou go-resty?▼

Sim, você pode alternar facilmente entre net/http, fasthttp e go-resty nas abas superiores.

Meus tokens são enviados para algum servidor?▼

Nunca. Todas as operações rodam 100% no navegador do seu computador.

Ferramentas e utilitários relacionados

Todas as ferramentas →