Conversor de cURL para Go (net/http)

Converte um comando cURL em um snippet de código Go net/http com http.NewRequest, cabeçalhos e corpo

Fatos principais

Categoria
Desenvolvimento e Web
Tipos de entrada
textarea, checkbox
Tipo de saída
text
Cobertura de amostras
4
API disponível
Yes

Visão geral

O Conversor de cURL para Go (net/http) é uma ferramenta prática que transforma comandos cURL em código Go nativo estruturado. Ele gera automaticamente requisições usando o pacote padrão net/http, configurando cabeçalhos, métodos HTTP e o corpo da requisição de forma limpa e legível.

Quando usar

  • Ao migrar testes de API feitos no terminal com cURL para uma aplicação ou microsserviço escrito em Go.
  • Quando precisar integrar rapidamente chamadas HTTP externas no seu código Go sem escrever manualmente a estrutura de http.NewRequest.
  • Durante a depuração de integrações de API, convertendo requisições prontas do Postman ou Insomnia exportadas como cURL em código Go.

Como funciona

  • Insira ou cole o comando cURL completo no campo de texto indicado.
  • Escolha se deseja formatar o corpo da requisição (pretty body) e se quer incluir comentários explicativos no código gerado.
  • A ferramenta analisa os parâmetros do cURL e gera instantaneamente o código Go equivalente usando a biblioteca padrão net/http.

Casos de uso

Integração rápida de webhooks ou APIs de terceiros em projetos Go a partir de exemplos de documentação fornecidos em cURL.
Automação de scripts de teste de integração, convertendo chamadas de terminal em testes unitários em Go.
Aprendizado prático de como estruturar requisições HTTP complexas com autenticação e payloads usando a biblioteca padrão do Go.

Exemplos

1. Integração de API de Cadastro de Usuários

Desenvolvedor Backend
Contexto
Um desenvolvedor precisa integrar um serviço de autenticação externo em um microsserviço Go. A documentação do serviço fornece apenas exemplos de requisição em formato cURL.
Problema
Escrever manualmente o código Go para fazer um POST com cabeçalhos de autorização e payload JSON consome tempo e está sujeito a erros de sintaxe.
Como usar
Cole o comando cURL de exemplo no campo de entrada, ative a opção de incluir comentários e clique em converter.
Configuração de exemplo
curlCommand: curl -X POST https://api.exemplo.com/v1/users -H "Authorization: Bearer token123" -H "Content-Type: application/json" -d '{"name": "João", "email": "[email protected]"}'
prettyBody: true
includeComments: true
Resultado
O código Go é gerado instantaneamente com http.NewRequest, os cabeçalhos configurados corretamente e o payload JSON formatado pronto para ser colado no projeto.

2. Conversão de Requisição GET Simples

Engenheiro de Software
Contexto
Um engenheiro precisa realizar uma consulta rápida a uma API de previsão do tempo para obter dados em formato JSON dentro de uma rotina Go.
Problema
Configurar a requisição GET básica com parâmetros de consulta no Go de forma rápida.
Como usar
Insira o comando cURL simples com a URL e os parâmetros de consulta no campo de texto e desmarque a opção de comentários para obter um código mais limpo.
Configuração de exemplo
curlCommand: curl "https://api.weather.com/v1/forecast?city=SaoPaulo&days=3"
prettyBody: false
includeComments: false
Resultado
Um snippet de código Go enxuto contendo a chamada GET e o tratamento básico de resposta é gerado imediatamente.

Testar com amostras

development

Hubs relacionados

FAQ

A ferramenta suporta bibliotecas externas do Go?

Não, a ferramenta gera código Go utilizando estritamente o pacote padrão net/http nativo da linguagem.

Como o corpo da requisição (payload) é tratado?

O corpo enviado via -d ou --data no cURL é convertido em um leitor de bytes adequado para a requisição Go.

Posso converter comandos cURL com múltiplos cabeçalhos?

Sim, todos os cabeçalhos definidos com -H ou --header são mapeados e adicionados ao objeto de requisição Go usando req.Header.Set.

O que faz a opção 'Embelezar o corpo'?

Ela formata payloads JSON ou XML no código gerado para que fiquem mais legíveis e organizados visualmente.

A ferramenta armazena os comandos cURL enviados?

Não, a conversão é feita localmente no navegador, garantindo a privacidade dos seus dados e tokens de autenticação.

Documentação da API

Ponto final da solicitação

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

Parâmetros da solicitação

Nome do parâmetro Tipo Requerido Descrição
curlCommand textarea Sim -
prettyBody checkbox Não -
includeComments checkbox Não -

Formato de resposta

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

Documentação de MCP

Adicione este ferramenta à sua configuração de servidor MCP:

{
  "mcpServers": {
    "elysiatools-curl-to-go": {
      "name": "curl-to-go",
      "description": "Converte um comando cURL em um snippet de código Go net/http com http.NewRequest, cabeçalhos e corpo",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=curl-to-go",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Você pode encadear várias ferramentas, ex: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máx 20 ferramentas.

Se você encontrar algum problema, por favor, entre em contato conosco em [email protected]