Conversor de curl para fetch

Cole um comando curl e converta na hora para o código JavaScript fetch() equivalente. O conversor analisa a URL, o método, os cabeçalhos, o corpo da requisição e a autenticação básica e gera um código fetch() limpo e pronto para copiar. Tudo roda no seu navegador e a requisição nunca é enviada.


    

O Conversor de curl para fetch da ToolsSoup transforma um comando curl no código JavaScript fetch() equivalente com um clique. Cole um comando copiado da documentação, da aba de rede do navegador ou de um colega, e a ferramenta analisa o método, os cabeçalhos, o corpo, a autenticação básica e a URL da requisição, gerando uma chamada fetch() pronta para colar no seu código. Ela entende as aspas do shell, então argumentos entre aspas simples e duplas e continuações de linha com barra invertida são tratados corretamente. Tudo roda localmente no seu navegador e a requisição nunca é enviada.

O que faz o conversor de curl para fetch?

Comandos curl e a API fetch() do JavaScript descrevem a mesma requisição HTTP em duas linguagens diferentes. Este conversor lê um comando curl, do tipo que você encontra na documentação de APIs ou copia pelo menu Copiar como cURL do navegador, e o reescreve como uma chamada fetch(). Ele mapeia -X para o método, cada -H para uma entrada de headers, -d e suas variantes para o corpo da requisição e -u para um cabeçalho Authorization Basic. Quando há dados mas nenhum método é informado, ele assume POST, como o próprio curl faz; caso contrário, o método padrão é GET. A saída é um código fetch() formatado e pronto para copiar, com uma cadeia .then() pronta para uso.

Como converter curl para fetch

Converta qualquer comando curl em poucos segundos:

  1. Cole o comando curl completo na caixa de entrada, incluindo qualquer flag -X, -H, -d ou -u.
  2. Clique em Converter para fetch para gerar o JavaScript equivalente.
  3. Revise a chamada fetch(), o objeto de cabeçalhos e o corpo da requisição no painel de saída.
  4. Copie o código e cole no seu projeto.

Quais flags do curl são suportadas?

O conversor trata as flags que você usa com mais frequência. -X ou --request define o método HTTP. -H ou --header adiciona cabeçalhos de requisição. -d, --data, --data-raw e --data-binary definem o corpo. -u ou --user vira um cabeçalho Authorization Basic. --url e um argumento de URL solto definem a URL da requisição. -L ou --location e -k ou --insecure são reconhecidos e indicados na saída, já que o fetch já segue redirecionamentos e os navegadores não conseguem ignorar a verificação de TLS. Flags que só afetam a saída, como -s, -i e -v, são ignoradas porque não influenciam a requisição em JavaScript.

Por que usar este conversor de curl para fetch?

  • Interpreta as aspas do shell corretamente: aspas simples, aspas duplas, caracteres escapados e continuações de linha com barra invertida.
  • Mapeia método, cabeçalhos, corpo e autenticação básica para uma chamada fetch() limpa.
  • Assume POST quando há corpo e nenhum método foi definido, como o curl faz.
  • Detecta corpos JSON e os envolve com JSON.stringify para um código mais legível.
  • Adiciona uma cadeia .then() de resposta pronta para usar, para o trecho funcionar de imediato.
  • Roda inteiramente no seu navegador e nunca envia a requisição para lugar nenhum.

Perguntas frequentes

Esta ferramenta envia a requisição HTTP?

Não. Ela apenas converte o texto do comando curl em código JavaScript fetch(). Nada é requisitado ou enviado a partir desta página, então o conversor funciona totalmente no lado do cliente, sem limites de origem cruzada ou de rede.

Como o método HTTP é decidido?

Se o comando curl inclui -X ou --request, esse método é usado. Caso contrário, o método padrão é GET, a menos que o comando envie dados com -d ou --data, situação em que o padrão passa a ser POST. Isso espelha como o próprio curl escolhe o método.

Como os corpos de requisição são tratados?

Cada valor de -d, --data, --data-raw e --data-binary vira o corpo da requisição, unidos por um e comercial quando há vários. Se houver um cabeçalho Content-Type application/json e o corpo for um JSON válido, o corpo é emitido como JSON.stringify do objeto analisado, gerando um código mais limpo e editável.

O que acontece com -u para autenticação básica?

Um valor -u ou --user no formato usuario:senha é convertido em um cabeçalho Authorization usando o esquema Basic com a credencial codificada em Base64, que é exatamente o que o curl envia. As credenciais são codificadas localmente no seu navegador e nunca são transmitidas por esta ferramenta.

Por que -L e -k aparecem só como comentários?

A API fetch já segue redirecionamentos por padrão, então -L ou --location não precisa de nenhuma opção extra. Os navegadores não conseguem desativar a verificação de certificado TLS, então -k ou --insecure não tem equivalente no fetch. O conversor adiciona um comentário curto para explicar cada caso, em vez de gerar um código que não funcionaria.