Conversor de cURL para Código — Grátis online

Cole um comando curl e obtenha código equivalente em JavaScript fetch() ou Python requests, na hora.

Os resultados são fornecidos apenas para fins informativos e podem conter erros. Verifique de forma independente as informações importantes. O uso desta ferramenta é por sua conta e risco.

O que esta ferramenta faz

O Conversor de cURL para Código transforma um comando curl na mesma requisição escrita em JavaScript fetch() ou em Python requests. Cole um comando copiado da documentação de uma API ou do painel de rede do navegador (Copiar como cURL), escolha a linguagem e clique em Converter. O método, a URL, os cabeçalhos e o corpo da requisição são mantidos na conversão.

O parser entende -X/--request, -H/--header, -d/--data/--data-raw/--data-binary e -u/--user. Um corpo sem método explícito transforma a requisição em POST, como o próprio curl faz, e -u user:pass vira um cabeçalho Authorization: Basic. As quebras de linha com barra invertida são unidas primeiro, então comandos de várias linhas podem ser colados sem problema. Outras flags, como --compressed ou -s, são ignoradas.

Quando usar

  • Transformar um exemplo da documentação de uma API em código para um front-end ou um script Node.
  • Reproduzir em um teste Python uma requisição capturada no DevTools do navegador.
  • Levar um experimento rápido feito no terminal para um job agendado ou um notebook.
  • Explicar para um colega o que um longo comando curl de uma linha realmente envia.

Exemplo prático

Entrada

curl -X POST https://api.example.com/users -H "Content-Type: application/json" -d '{"name":"Ana"}'

Saída

fetch("https://api.example.com/users", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: "{\"name\":\"Ana\"}"
})
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error(err));

Perguntas sobre esta ferramenta

A requisição é enviada quando eu converto o comando?

Não. O comando só é analisado e reescrito como código; a URL nunca é chamada. Mesmo assim, remova tokens reais dos comandos copiados, porque eles acabam indo parar na sua área de transferência e no seu código.

Por que o corpo é uma string e não um objeto?

O curl envia o valor de -d exatamente como foi escrito, e o código gerado faz o mesmo. Se preferir montar o corpo a partir de um objeto, substitua-o por JSON.stringify({...}) em JavaScript ou por json= em Python.

E uploads de arquivo com -F?

As flags de formulário multipart (-F) não são convertidas. Monte essas requisições com FormData em JavaScript ou com o argumento files= em Python.

Qual biblioteca Python o resultado usa?

Usa a requests, a biblioteca HTTP mais comum em Python. Instale-a com pip install requests. O script gerado imprime o código de status e a resposta JSON.

Esta ferramenta é gratuita?

Sim, é grátis. Sem cadastro nem e-mail. Veja o resultado nesta página.

Como recebo o resultado?

Use a ferramenta nesta página. O resultado aparece aqui, sem envio por e-mail.