Converter curl para JavaScript
O curl2code converte comandos curl para código JavaScript utilizando a API nativa fetch. Tudo é executado localmente no seu navegador através de WebAssembly para total privacidade. Se precisar de código Node.js para o lado do servidor, experimente o nosso conversor de curl para Node.js. Para segurança de tipos, consulte o conversor de curl para TypeScript. Abaixo encontram-se exemplos práticos para padrões HTTP comuns.
Como copiar o curl do seu navegador
- 1
Abrir as DevTools
Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.
- 2
Ir para o separador Network
Clique no separador Network e realize a ação que despoleta o pedido HTTP.
- 3
Copiar como cURL
Clique com o botão direito no pedido → Copy → Copy as cURL. Depois cole-o acima.
Perguntas Frequentes
O que é a Fetch API?
A Fetch API é uma interface moderna, baseada em promessas, integrada em todos os navegadores para fazer pedidos HTTP. Substitui o antigo XMLHttpRequest por uma API mais limpa e poderosa. O Fetch suporta streaming, objetos de pedido/resposta, CORS e integra-se naturalmente com async/await. Não é necessária instalação — está disponível globalmente. O curl2code usa o Fetch como a saída predefinida para conversões em JavaScript.
Fetch vs XMLHttpRequest vs jQuery.ajax — qual devo usar?
O Fetch é o padrão moderno — use-o para novos projetos. O XMLHttpRequest é legado, mas ainda funciona em todo o lado e suporta eventos de progresso nativamente. O jQuery.ajax adiciona conveniência se o jQuery já estiver no seu projeto. Para JavaScript no lado do servidor, consulte o nosso conversor de curl para Node.js. Para segurança de tipos, experimente o curl para TypeScript.
Como gerir a autenticação com o 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 deteta as flags -u e -H 'Authorization: ...' automaticamente.
Como enviar dados de formulário multipart com o 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 limite (boundary) multipart automaticamente. O curl2code converte as flags -F para FormData.
Como gerir erros com o Fetch?
O Fetch apenas rejeita em falhas de rede, não em erros HTTP. Verifique sempre response.ok ou response.status antes de ler o corpo. Envolva as chamadas em try/catch com async/await para gerir erros de rede e de análise num só lugar.
Como usar async/await com o Fetch?
O Fetch devolve uma Promise, por isso use const response = await fetch(url) seguido de const data = await response.json(). Envolva num bloco try/catch para gestão de erros. Isto é mais limpo do que cadeias .then() e é o padrão recomendado para JavaScript moderno.
Como definir um timeout para pedidos Fetch?
Use o AbortController: crie um controlador, passe { signal: controller.signal } para o fetch e chame controller.abort() após um atraso com setTimeout. Os navegadores modernos também suportam AbortSignal.timeout(5000) como uma linha única mais simples. O --max-time do curl mapeia para este padrão.
Como gerir problemas de CORS com o Fetch?
O CORS é imposto pelo navegador, não pelo Fetch em si. Defina mode: 'cors' (o padrão) e garanta que o servidor envia os cabeçalhos Access-Control-Allow-Origin adequados. Para credenciais (cookies), adicione credentials: 'include'. O CORS não se aplica a código no lado do servidor — para isso, consulte o nosso conversor de curl para Node.js.
Como enviar um pedido POST com um 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 utiliza fetch(url, { method: 'POST', body: JSON.stringify(data), headers: {'Content-Type': 'application/json'} }). O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código fetch.
Como adicionar autorização com token Bearer em JavaScript?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e este gera código fetch com o cabeçalho de autenticação: headers: { 'Authorization': 'Bearer YOUR_TOKEN' }. O curl2code deteta tokens Bearer tanto de flags -H "Authorization: Bearer ..." como de --oauth2-bearer. Para Basic auth, utilize -u user:pass.
Como definir o cabeçalho Content-Type em JavaScript?
O curl2code converte curl -H "Content-Type: application/json" URL para código fetch com o cabeçalho correto: headers: { 'Content-Type': 'application/json' }. Para dados -d, o curl assume por defeito application/x-www-form-urlencoded; para envios de formulários -F, utiliza multipart/form-data. O curl2code mapeia cada um para a API fetch correta.
Links Úteis
Guias do curl
Códigos de erro do curl
Consulte qualquer código de saída do curl — causas, correções e dicas de depuração.
Transferir ficheiros com curl
Guarde ficheiros com -o, -O, siga redirecionamentos, retome transferências e mais.
SSL, TLS e proxy
Configure certificados, versões TLS, proxies HTTP/SOCKS e DNS personalizado.