Converter curl para JavaScript
O curl2code converte comandos curl para código JavaScript usando a API nativa fetch. Tudo é executado localmente no seu navegador via WebAssembly para total privacidade. Se você precisar de código Node.js para o lado do servidor, tente nosso conversor de curl para Node.js. Para segurança de tipos, verifique o conversor de curl para TypeScript. Abaixo estão exemplos práticos para padrões HTTP comuns.
Como copiar o curl do seu navegador
- 1
Abra o DevTools
Pressione F12 ou Ctrl+Shift+I para abrir as ferramentas de desenvolvedor do seu navegador.
- 2
Vá para a aba Network
Clique na aba Network e realize a ação que dispara a requisição HTTP.
- 3
Copiar como cURL
Clique com o botão direito na requisição → Copy → Copy as cURL. Depois cole acima.
Perguntas Frequentes
O que é a Fetch API?
A Fetch API é uma interface moderna baseada em promises, nativa em todos os navegadores, para fazer requisições HTTP. Ela substitui o antigo XMLHttpRequest por uma API mais limpa e poderosa. O Fetch suporta streaming, objetos de requisição/resposta, CORS e se integra naturalmente com async/await. Nenhuma instalação é necessária — está disponível globalmente. O curl2code usa Fetch como a saída padrão para conversões em JavaScript.
Fetch vs XMLHttpRequest vs jQuery.ajax — qual devo usar?
Fetch é o padrão moderno — use-o para novos projetos. XMLHttpRequest é legado, mas ainda funciona em todos os lugares e suporta eventos de progresso nativamente. jQuery.ajax adiciona conveniência se o jQuery já estiver no seu projeto. Para JavaScript no lado do servidor, veja nosso conversor de curl para Node.js. Para segurança de tipos, tente curl para TypeScript.
Como lidar com autenticação com Fetch?
Passe um cabeçalho Authorization na opção headers: fetch(url, { headers: { "Authorization": "Bearer token" } }). Para autenticação Basic, codifique as credenciais com btoa(user + ':' + pass). O curl2code detecta as flags -u e -H 'Authorization: ...' automaticamente.
Como enviar dados de formulário multipart com Fetch?
Crie um objeto FormData e passe-o como o corpo: fetch(url, { method: "POST", body: formData }). Não defina o Content-Type manualmente — o navegador adiciona o boundary multipart automaticamente. O curl2code converte flags -F para FormData.
Como lidar com erros com Fetch?
O Fetch só rejeita em falhas de rede, não em erros HTTP. Sempre verifique response.ok ou response.status antes de ler o corpo. Envolva as chamadas em try/catch com async/await para lidar com erros de rede e de parsing em um só lugar.
Como usar async/await com Fetch?
O Fetch retorna uma Promise, então use const response = await fetch(url) seguido por const data = await response.json(). Envolva em um bloco try/catch para tratamento de erros. Isso é mais limpo do que cadeias de .then() e é o padrão recomendado para JavaScript moderno.
Como definir um timeout para requisições Fetch?
Use AbortController: crie um controlador, passe { signal: controller.signal } para o fetch e chame controller.abort() após um atraso com setTimeout. Navegadores modernos também suportam AbortSignal.timeout(5000) como uma solução mais simples de uma linha. O --max-time do curl mapeia para este padrão.
Como lidar com problemas de CORS com Fetch?
O CORS é imposto pelo navegador, não pelo Fetch em si. Defina mode: 'cors' (o padrão) e garanta que o servidor envie os cabeçalhos Access-Control-Allow-Origin adequados. Para credenciais (cookies), adicione credentials: 'include'. O CORS não se aplica ao código do lado do servidor — para isso, veja nosso conversor de curl para Node.js.
Como enviar uma requisição POST com corpo JSON em JavaScript?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para JavaScript usando o curl2code. O código gerado usa fetch(url, { method: 'POST', body: JSON.stringify(data), headers: {'Content-Type': 'application/json'} }). O curl2code detecta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código do fetch.
Como adicionar autorização com token Bearer em JavaScript?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do fetch com o cabeçalho de autenticação: headers: { 'Authorization': 'Bearer YOUR_TOKEN' }. O curl2code detecta tokens Bearer tanto de flags -H "Authorization: Bearer ..." quanto de --oauth2-bearer. Para Basic auth, use -u user:pass.
Como definir o cabeçalho Content-Type em JavaScript?
O curl2code converte curl -H "Content-Type: application/json" URL para o código do fetch com o cabeçalho correto: headers: { 'Content-Type': 'application/json' }. Para dados -d, o curl define por padrão application/x-www-form-urlencoded; para uploads de formulário com -F, ele usa multipart/form-data. O curl2code mapeia cada um para a API correta do fetch.