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
-kgerado (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
-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.
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.