Sobre esta ferramenta
Um comando curl é a língua comum dos relatórios de bug de API, mas acertar as aspas é chato: aspas simples dentro de JSON quebram o bash, o cmd.exe trata & e % de forma especial e o PowerShell faz do curl um alias para algo totalmente diferente. Este gerador monta o comando a partir de um formulário (método, URL, query parameters, headers, autenticação Basic/Bearer/API key, body JSON, form-encoded ou bruto, e as opções -i, -L, --compressed, -k e timeout) e aplica as aspas corretas para bash, cmd do Windows e PowerShell 7.3+. A mesma requisição também é gerada como JavaScript fetch, um teste Playwright com APIRequestContext, Python requests e uma cadeia given/when/then do REST Assured. A aba de parse faz o caminho inverso: cole um comando curl, inclusive a saída “Copy as cURL” do navegador, e ele preenche o formulário.
Como usar
- Preencha o método e a URL e depois adicione query parameters, headers, autenticação e body. Desmarque uma linha para deixá-la de fora sem apagá-la.
- Escolha uma saída: cURL para o seu shell ou fetch, Playwright, Python ou REST Assured, e copie.
- Para converter um comando existente, vá para “Parse cURL”, cole o comando e clique em “Parse into form”. Opções não suportadas são listadas em vez de descartadas silenciosamente.
Perguntas frequentes: Gerador de comandos cURL
Por que meu comando curl funciona no bash e falha no Windows?
O cmd.exe não entende aspas simples, e o PowerShell 5.1 mapeia curl para Invoke-WebRequest e remove aspas duplas embutidas dos argumentos nativos. Use a variante cmd (aspas duplas com escape por circunflexo) ou a variante PowerShell 7.3+, que chama curl.exe explicitamente.
Qual a diferença entre -d, --data-raw e --data-binary?
-d trata um @ inicial como nome de arquivo e remove as quebras de linha dos arquivos; --data-raw envia a string exatamente como está, mesmo que comece com @; --data-binary envia o conteúdo do arquivo sem remover quebras de linha. Os três implicam POST e Content-Type de formulário, a menos que você defina outro.
É seguro usar -k nos testes?
Somente em ambientes locais ou de teste com certificados autoassinados. -k desativa a verificação de certificado, então um teste que o usa não perceberia um certificado expirado ou incompatível que clientes reais rejeitam.