Gerador de comandos curl

Especifique o método HTTP, a URL, os cabeçalhos, o corpo e o método de autenticação no formulário para gerar um comando curl pronto para copiar e executar. Como a requisição nunca é realmente enviada, não há restrições de CORS.

Opções mais usadas do curl

Opção Descrição
-X, --request <method> Especifica o método HTTP (GET, POST, PUT, PATCH, DELETE etc.). Se omitido, usa GET quando não há corpo e POST quando há.
-H, --header <header> Adiciona um cabeçalho de requisição. Repita -H para adicionar vários.
-d, --data <data> Envia um corpo de requisição. Se -X não for especificado, é enviado automaticamente como POST com Content-Type: application/x-www-form-urlencoded.
-u, --user <user:password> Especifica o usuário e a senha para autenticação Basic no formato "user:password".
-k, --insecure Pula a verificação do certificado SSL. Indicado para ambientes de desenvolvimento com certificados autoassinados. Não recomendado em produção.
-L, --location Segue automaticamente o destino indicado pelo cabeçalho Location quando o servidor retorna um redirecionamento 3xx.
-v, --verbose Exibe a troca detalhada de requisição e resposta, incluindo cabeçalhos, na saída de erro padrão. Útil para depuração.
--compressed Adiciona um cabeçalho Accept-Encoding, solicitando e descompactando automaticamente respostas compactadas com gzip e formatos semelhantes.
-o, --output <file> Salva o corpo da resposta no arquivo especificado em vez da saída padrão.
-F, --form <name=content> Envia dados de formulário ou arquivos no formato multipart/form-data. Especifique "@caminho_do_arquivo" para upload de arquivos.

Dicas

  • O comando gerado pode ser colado diretamente em um terminal, script de shell ou arquivo de configuração de CI/CD e executado como está. Todos os valores já estão escapados com aspas simples.
  • Um aviso é exibido se você inserir um corpo enquanto o método ainda for GET. Isso ocorre porque o curl envia automaticamente a requisição como POST quando -d é usado sem -X, e o aviso ajuda a evitar comportamentos indesejados.
  • Ao marcar "Adicionar automaticamente Content-Type: application/json", o cabeçalho Content-Type — que costuma ser esquecido ao chamar uma API JSON — é adicionado automaticamente.
  • Tanto os valores de autenticação Basic quanto os do token Bearer são processados inteiramente no seu navegador e nunca são enviados a nenhum servidor.
  • O -k gerado (pular verificação de certificado) é uma solução temporária destinada apenas ao desenvolvimento local com certificados autoassinados. Evite usá-lo de forma permanente em APIs de produção.

Perguntas frequentes

Não. Esta ferramenta apenas monta a string do comando e nunca envia uma requisição HTTP real. A requisição só ocorre quando você copia o comando gerado para um terminal e o executa por conta própria. Se quiser enviar a requisição de fato e ver o resultado, use nossa ferramenta irmã, o "Testador de API REST".

Sim. Se você inserir o método, a URL, os cabeçalhos e o corpo de uma requisição montada no Postman, esta ferramenta gera um comando curl que pode ser copiado e colado diretamente. É útil para inserir em scripts de CI/CD ou documentações.

Tecnicamente sim, mas é preciso cuidado. Se o curl receber -d (dados do corpo) sem a opção -X, ele envia automaticamente a requisição como POST. Para o caso raro de precisar manter o GET enviando um corpo, adicione manualmente -X GET ao comando gerado.

Não. Todas as informações de autenticação que você informa são processadas inteiramente por JavaScript no seu navegador e nunca são enviadas ao servidor do toolbase.cc. Elas só chegam à API real quando você mesmo executa o comando gerado no seu próprio ambiente.

"-k (--insecure)" pula a verificação do certificado SSL e deve ser usada apenas como solução temporária para ambientes de desenvolvimento local com certificados autoassinados. Não é recomendada em produção nem em comunicações com informações sensíveis, pois abre brecha para ataques de intermediário.
ツールくん

Curiosidade — por que o curl é a ferramenta que todo mundo usa mas quase ninguém conhece

O curl é uma ferramenta de linha de comando para transferir dados usando URLs, criada em 1996 pelo engenheiro sueco Daniel Stenberg. Ele se originou de um pequeno script que buscava cotações de câmbio para um bot de chat de IRC, e desde então cresceu até se tornar um projeto enorme, compatível com mais de 25 protocolos, incluindo HTTP, FTP e SMTP.

O curl é considerado um dos softwares mais usados do mundo. Ele está embutido em praticamente todos os dispositivos conectados à internet — smartphones, carros, eletrodomésticos, consoles de jogos e até espaçonaves (já foi usado em missões da NASA a Marte) —, com uma base instalada estimada em dezenas de bilhões de unidades. Apesar dessa enorme presença, continua sendo um exemplo clássico de infraestrutura invisível, quase desconhecida fora do meio dos desenvolvedores.

Em 2019, Stenberg foi reconhecido pela Linux Foundation por suas contribuições às tecnologias fundamentais da web. Ele continua sendo o mantenedor principal à frente do desenvolvimento do curl atualmente, conhecido por preservar cuidadosamente a compatibilidade retroativa por mais de duas décadas.

Mesmo agora que ferramentas gráficas como o Postman são amplamente usadas, os comandos curl continuam presentes em READMEs, documentações oficiais e etapas de verificação de APIs. O motivo é simples: o curl não exige instalação e já vem pré-instalado em praticamente todos os ambientes Linux e macOS, permitindo executar um único comando na hora e compartilhar o resultado com um nível de reprodutibilidade difícil de igualar.