Converter curl para Node.js
Converta comandos curl para código Node.js usando o módulo integrado http. O curl2code é executado inteiramente no seu navegador via WebAssembly — suas chaves de API e dados permanecem privados. Para JavaScript no lado do navegador, veja nosso conversor de curl para JavaScript. Se você prefere Python, tente curl para Python. Abaixo você encontrará exemplos prontos para usar.
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 é o módulo http do Node.js?
Os módulos http e https são módulos nativos do Node.js para fazer requisições HTTP sem dependências. Eles fornecem controle de baixo nível sobre streams de requisição/resposta. Para alternativas de alto nível, o curl2code também suporta axios, node-fetch, got, ky e superagent.
http vs axios vs node-fetch vs got — qual devo usar?
http não possui dependências, mas é verboso. axios oferece uma API limpa com interceptores e parsing automático de JSON. node-fetch espelha a Fetch API do navegador. got é rico em recursos com retries, paginação e streams. Escolha com base nas necessidades do projeto. Para JavaScript no navegador, veja nosso conversor de curl para JavaScript.
Como lidar com autenticação no Node.js?
Defina o cabeçalho Authorization no objeto de opções. Para autenticação Basic, use Buffer.from(user + ':' + pass).toString('base64'). Com axios, use a opção de configuração auth integrada. O curl2code converte flags -u e tokens Bearer para todas as bibliotecas Node.js suportadas.
Como enviar dados de formulário multipart no Node.js?
Com o módulo http nativo, construa o corpo multipart manualmente ou use o pacote form-data. Com axios, passe uma instância de FormData como o corpo. O Node.js 18+ possui uma classe FormData integrada. O curl2code lida com flags -F para cada variante de biblioteca.
Como lidar com erros HTTP no Node.js?
Com http, escute o evento 'error' na requisição e verifique response.statusCode. Com axios, erros são lançados para códigos de status não-2xx e podem ser capturados em try/catch. Com got, use o mesmo padrão somado à lógica de retry integrada em caso de falha.
Como lidar com respostas em streaming no Node.js?
O módulo http retorna um readable stream por padrão — direcione-o com response.pipe(fs.createWriteStream('file')). Com got, use got.stream(url). Com axios, defina responseType: 'stream'. O streaming é ideal para arquivos grandes e evita carregar respostas inteiras na memória.
Como definir timeouts em requisições HTTP no Node.js?
Com http, passe timeout nas opções e escute o evento 'timeout', então chame req.destroy(). O Axios aceita timeout em milissegundos. O Got suporta tanto timeout.request quanto retries automáticos integrados com backoff configurável.
Como usar um proxy com Node.js?
O módulo http nativo requer tunelamento de proxy manual. Use os pacotes https-proxy-agent ou http-proxy-agent. O Axios suporta proxies via configuração proxy. O Got usa a opção agent com agentes de proxy. O curl2code converte as flags -x e --proxy apropriadamente.
Como enviar uma requisição POST com corpo JSON em Node.js?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para Node.js usando o curl2code. O código gerado usa axios.post(url, { key: 'value' }). O curl2code detecta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código do axios.
Como adicionar autorização com token Bearer em Node.js?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do axios 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 Node.js?
O curl2code converte curl -H "Content-Type: application/json" URL para o código do axios 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 axios.