DevToolPal
PT

Conversor de curl para código

Converta um comando curl em código JavaScript fetch, Node.js axios, Python requests, Go, PHP, Java ou C#.

Roda localmente, nada é enviado

Opções

Comando curl

0 caracteres · 0 B

Código

0 caracteres · 0 B

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

  1. Cole um comando curl na entrada ou clique em Exemplo para testar um.
  2. Escolha a Linguagem desejada.
  3. 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.