O que esta ferramenta faz
O conversor de curl para código transforma um comando curl em código pronto para rodar em sete destinos: JavaScript fetch, Node.js axios, Python requests, Go net/http, PHP cURL, Java HttpClient e C# HttpClient. Documentações de API, o Postman e o DevTools do navegador entregam requisições como comandos curl; esta ferramenta poupa você de reescrever à mão o método, a URL, os cabeçalhos, o corpo e a autenticação.
O analisador foi escrito especificamente para a linha de comando do curl. Ele lê as aspas como o bash, entende opções curtas agrupadas como -sSL e valores colados como -XPOST, e mantém a ordem dos seus cabeçalhos.
Como usar
- Cole um comando curl na entrada ou clique em Exemplo para testar um.
- Escolha a Linguagem desejada.
- Copie o resultado ou baixe-o como arquivo de código-fonte.
Um corpo enviado com -d vira um corpo codificado como formulário; --json (ou um Content-Type JSON) vira um corpo JSON, formatado quando a linguagem permite; e campos -F viram um formulário multipart com upload de arquivos. -u user:password é convertido na opção de autenticação básica da própria linguagem, e -k, -L, -m e -x correspondem à verificação TLS, redirecionamentos, tempos limite e proxies.
Exemplo
Este comando envia JSON com um token bearer:
curl https://api.example.com/v1/users \
-H 'Authorization: Bearer TOKEN' \
--json '{"name":"Ada"}'
Em Python ele vira uma chamada requests.post() com um dicionário headers e json=json_data; em Go vira um http.NewRequest com os cabeçalhos definidos um a um e o corpo passado como um leitor de string.
Dicas
- Se o conversor mostrar um erro, a mensagem diz qual é o problema e o cursor salta para o trecho culpado, como uma opção desconhecida ou uma aspa não fechada.
- Pipes e redirecionamentos após o comando (
| jq .,> out.json) são ignorados. - O código gerado lê em tempo de execução os arquivos referenciados com
@file, então mantenha esses caminhos válidos em relação ao local onde o programa roda. - Revise segredos antes de compartilhar um link: o botão de compartilhar inclui o comando no hash do link.
Perguntas frequentes
› Meu comando curl é enviado para algum servidor?
Não. O comando é analisado e convertido inteiramente no seu navegador, então tokens, cookies e senhas nele nunca saem do seu dispositivo.
› Quais opções do curl são suportadas?
As que definem a requisição: -X, -H, -d, --data-raw, --data-binary, --data-urlencode, --json, -F, -u, -b, -A, -e, -G, -I, -L, -k, -m, -x, --compressed e --url. Opções que afetam apenas a saída do próprio curl, como -s, -v, -o ou -w, são aceitas e ignoradas.
› Posso colar um comando copiado do DevTools do navegador?
Sim. Use Copiar como cURL (bash) no painel Rede. Continuações de linha com \, ^ (cmd do Windows) e ` (PowerShell) são entendidas, assim como aspas simples, duplas e $'…'.
› O que acontece com opções que o código não consegue reproduzir?
O código gerado começa com um comentário Note, por exemplo quando -k não pode ser expresso com fetch ou quando o curl leria um arquivo que o código não abre. Opções desconhecidas geram um erro que aponta exatamente para a opção.