🎯 Um navegador em nuvem personalizável e anti-detecção alimentado por Chromium desenvolvido internamente, projetado para rastreadores web e agentes de IA. 👉Experimente agora
De volta ao blog

Como Usar Proxies com node-fetch: Um Guia Completo

Michael Lee
Michael Lee

Expert Network Defense Engineer

28-Nov-2025
Dê uma Olhada Rápida

Domine a arte de configurar proxies no Node.js usando a popular biblioteca `node-fetch` para raspagem da web anônima e eficiente.

A biblioteca node-fetch é uma escolha popular para fazer requisições HTTP no Node.js, fornecendo uma API fetch familiar, semelhante ao que está disponível em navegadores web modernos. Para tarefas como raspagem da web, geo-alvo ou contorno de limites de taxa, integrar um proxy é essencial.

No entanto, ao contrário de alguns outros clientes HTTP, o node-fetch não suporta nativamente a configuração de proxies. Este guia irá orientá-lo através dos passos e ferramentas necessárias para integrar com sucesso proxies ao node-fetch para os protocolos HTTP/HTTPS e SOCKS.

Pré-requisitos

Antes de começar, certifique-se de ter um ambiente Node.js configurado e os seguintes pacotes instalados:

  1. node-fetch: O cliente HTTP principal.
  2. https-proxy-agent: Usado para conectar a proxies HTTP/HTTPS.
  3. socks-proxy-agent: Usado para conectar a proxies SOCKS.

Você pode instalá-los usando npm:

bash Copy
npm install node-fetch https-proxy-agent socks-proxy-agent

1. Usando Proxies HTTP/HTTPS com node-fetch

Para usar um proxy HTTP ou HTTPS, você precisa aproveitar o pacote https-proxy-agent. Este pacote cria um objeto Agent que o node-fetch pode usar para direcionar suas requisições através do proxy especificado.

Passo 1: Importar Módulos Necessários

javascript Copy
import fetch from 'node-fetch';
import { HttpsProxyAgent } from 'https-proxy-agent';

Passo 2: Definir a URL do Proxy

A URL do proxy deve estar no formato: http://[username:password@]host:port.

javascript Copy
// Substitua com os seus detalhes de proxy reais
const proxyUrl = 'http://username:password@proxy.scrapeless.com:8000'; 

Passo 3: Criar o Agent

Instancie o HttpsProxyAgent com a sua URL do proxy.

javascript Copy
const agent = new HttpsProxyAgent(proxyUrl);

Passo 4: Fazer a Requisição

Passe o objeto agent criado nas opções do fetch.

javascript Copy
const targetUrl = 'https://example.com/data';

fetch(targetUrl, { agent })
  .then(response => {
    console.log(`Status: ${response.status}`);
    return response.text();
  })
  .then(text => console.log(text.substring(0, 200) + '...'))
  .catch(error => console.error('Erro de Fetch:', error));

Esse método garante que todo o tráfego para esta chamada específica de fetch seja direcionado através do seu proxy, proporcionando a necessária anonimidade e capacidades de geo-alvo.

2. Usando Proxies SOCKS com node-fetch

Proxies SOCKS (SOCKS4 e SOCKS5) são frequentemente preferidos por sua capacidade de lidar com todos os tipos de tráfego (não apenas HTTP) e seu maior nível de anonimidade. Para usá-los com node-fetch, você precisa do pacote socks-proxy-agent.

Passo 1: Importar Módulos Necessários

javascript Copy
import fetch from 'node-fetch';
import { SocksProxyAgent } from 'socks-proxy-agent';

Passo 2: Definir a URL do Proxy SOCKS

A URL do proxy SOCKS deve começar com socks:// ou socks5://.

javascript Copy
// Substitua com os seus detalhes reais do proxy SOCKS5
const socksProxyUrl = 'socks5://username:password@proxy.scrapeless.com:1080';

Passo 3: Criar o Agent

Instancie o SocksProxyAgent com a sua URL do proxy SOCKS.

javascript Copy
const socksAgent = new SocksProxyAgent(socksProxyUrl);

Passo 4: Fazer a Requisição

Passe o socksAgent nas opções do fetch.

javascript Copy
const targetUrl = 'https://example.com/data';

fetch(targetUrl, { agent: socksAgent })
  .then(response => {
    console.log(`Status: ${response.status}`);
    return response.text();
  })
  .then(text => console.log(text.substring(0, 200) + '...'))
  .catch(error => console.error('Erro de Fetch:', error));

Solução Recomendada de Proxy: Proxies Scrapeless

Para desenvolvedores e empresas que dependem do Node.js para raspagem da web e coleta de dados, a qualidade da rede proxy é fundamental. Proxies Scrapeless oferece uma rede robusta e de alto desempenho que é perfeitamente adequada para integração com node-fetch e seus agentes de proxy.

Scrapeless oferece uma rede de proxies mundial que inclui proxies Residenciais, Estáticos de ISP, de Datacenter e IPv6, com acesso a mais de 90 milhões de IPs e taxas de sucesso de até 99,98%. Suporta uma ampla gama de casos de uso — desde raspagem da web e pesquisa de mercado [1] até monitoramento de preços, rastreamento de SEO, verificação de anúncios e proteção de marca — tornando-a ideal para fluxos de trabalho de dados empresariais e profissionais.

Proxies Scrapeless: Principais Recursos para Desenvolvedores Node.js

A rede da Scrapeless é otimizada para a alta concorrência e confiabilidade exigidas pelas aplicações Node.js:

  • Proxies Residenciais: Mais de 90 milhões de IPs residenciais reais, perfeitos para scraping de alta anonimidade.
  • Proxies de Datacenter: IPs de alto desempenho otimizados para automação em larga escala e grande concorrência.
  • Suporte a Protocolos: Suporte total para HTTP, HTTPS e SOCKS5, garantindo integração perfeita com tanto https-proxy-agent quanto socks-proxy-agent.
  • Alta Taxa de Sucesso: Uma taxa média de sucesso de 99,98% minimiza a necessidade de tratamento de erros complexos e tentativas no seu código Node.js.

Proxies Scrapeless fornece cobertura global, transparência e desempenho altamente estável, tornando-se uma escolha mais forte e confiável do que outras alternativas - especialmente para aplicações de dados críticas para negócios e profissionais que requerem scraping universal [2] e soluções de produtos [3] com Node.js.

Conclusão

Integrar proxies com node-fetch requer o uso de bibliotecas de agentes especializadas, como https-proxy-agent e socks-proxy-agent. Ao configurar corretamente esses agentes com um provedor de proxy de alta qualidade, como os Proxies Scrapeless, você pode garantir que suas aplicações Node.js realizem solicitações web com a anonimidade, velocidade e confiabilidade necessárias para a aquisição bem-sucedida de dados.


Referências

[1] Documentação Node.js: Classe: http.Agent
[2] npm: node-fetch
[3] npm: https-proxy-agent
[4] npm: socks-proxy-agent
[5] IETF RFC 1928: Versão 5 do Protocolo SOCKS

Na Scorretless, acessamos apenas dados disponíveis ao público, enquanto cumprem estritamente as leis, regulamentos e políticas de privacidade do site aplicáveis. O conteúdo deste blog é apenas para fins de demonstração e não envolve atividades ilegais ou infratoras. Não temos garantias e negamos toda a responsabilidade pelo uso de informações deste blog ou links de terceiros. Antes de se envolver em qualquer atividade de raspagem, consulte seu consultor jurídico e revise os termos de serviço do site de destino ou obtenha as permissões necessárias.

Artigos mais populares

Catálogo