Como configurar um proxy com autenticação no Puppeteer (Node.js)

Atualizado:

O Puppeteer gerencia o Chrome e o Chromium através do DevTools Protocol (CDP), fornecendo a API nativa await page.authenticate({ username, password }) para autenticação HTTP 407. Combinar --proxy-server=http://ip:port com page.authenticate() permite que seus scripts em Node.js naveguem pelos proxies estáticos da VinaProxy sem depender de extensões de terceiros.

Puppeteer · HTTP Proxy Format
--proxy-server=http://ip:port + page.authenticate({ username, password })
IPv4 privado (datacenter)
🇺🇸 United States
Disponível
A partir de
₫ 20.000 / IP / mês
≈ US$ 0,74 · faturado em VND
Tabela de descontos por volume
  • 1 IP₫ 40.000
  • 5+ IPs₫ 35.000
  • 10+ IPs₫ 25.000
  • 20+ IPs₫ 25.000
  • 50+ IPs₫ 25.000
  • 100+ IPs₫ 25.000
  • 200+ IPs₫ 25.000
  • 500+ IPs₫ 25.000
  • 1000+ IPs₫ 22.000
  • 2000+ IPs₫ 20.000
Comprar United States
IPv4 privado (datacenter)
🇸🇬 Singapore
Disponível
A partir de
₫ 20.000 / IP / mês
≈ US$ 0,74 · faturado em VND
Tabela de descontos por volume
  • 1 IP₫ 40.000
  • 5+ IPs₫ 35.000
  • 10+ IPs₫ 25.000
  • 20+ IPs₫ 25.000
  • 50+ IPs₫ 25.000
  • 100+ IPs₫ 25.000
  • 200+ IPs₫ 25.000
  • 500+ IPs₫ 25.000
  • 1000+ IPs₫ 22.000
  • 2000+ IPs₫ 20.000
Comprar Singapore

Configuração de proxy em duas etapas no Puppeteer

Nunca insira user:pass@ diretamente no argumento de inicialização --proxy-server. Em vez disso, informe host e porta no lançamento e realize a autenticação na instância da Page:

EtapaCódigo no PuppeteerFinalidade técnica
1. Iniciar o Chromiumpuppeteer.launch({ args: ['--proxy-server=http://ip:port'] })Direciona a interface de rede do Chromium para o seu proxy VinaProxy
2. Autenticar a Páginaawait page.authenticate({ username, password })Envia as credenciais via CDP em resposta ao desafio HTTP 407
3. Navegarawait page.goto(url, { waitUntil: 'domcontentloaded' })Acessa o endereço de destino por meio do túnel proxy autenticado

Rotacionando múltiplos proxies entre abas com proxy-chain

  • Lembre-se de que page.authenticate() possui escopo individual por aba Page — execute-o em cada nova aba gerada por browser.newPage()
  • Para operar proxies diferentes em contextos anônimos dentro do mesmo processo do Chromium, converta cada URL http://user:pass@ip:port com o pacote proxy-chain (anonymizeProxy()) e passe em browser.createBrowserContext({ proxyServer })
  • Compatível com o puppeteer-extra e o plugin de evasão puppeteer-extra-plugin-stealth

Passo a passo

  1. 1

    Informe --proxy-server=http://ip:port no puppeteer.launch()

    Abra o navegador com const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });.

  2. 2

    Chame await page.authenticate() na nova página

    Crie uma aba com const page = await browser.newPage(); e execute await page.authenticate({ username: 'USER', password: 'PASS' });.

  3. 3

    Valide o endereço de IP público de saída

    Navegue até await page.goto('https://vinaproxy.com/api/my-ip'); e valide o JSON recebido.

  4. 4

    Finalize o processo do navegador

    Ao concluir os trabalhos, chame await browser.close(); para liberar recursos do sistema.

Perguntas frequentes

Por que o Puppeteer retorna o erro ERR_NO_SUPPORTED_PROXIES?

Esse erro ocorre quando se inclui user:pass@ na flag de inicialização: --proxy-server=http://user:pass@ip:port. Mantenha apenas --proxy-server=http://ip:port e passe o login e a senha via await page.authenticate({ username, password }).

Por que uma segunda aba aberta com browser.newPage() falha com HTTP 407?

A autenticação page.authenticate() é vinculada à aba ativa. Em cada nova aba aberta, execute await secondPage.authenticate({ username, password }) antes de navegar.

Os proxies da VinaProxy possuem limitação de tráfego para web scraping em modo headless?

Não. Todos os planos de IPv4 dedicado e ISP estático da VinaProxy oferecem transferência mensal ilimitada.

Potencialize seus scrapers Puppeteer em Node.js com IPs estáticos dedicados

Proxies IPv4 Dedicados e ISP Estáticos com ativação rápida e tráfego ilimitado em 7 países.

Comprar Proxies para Puppeteer

Artigos relacionados

Proxies por plataforma
Proxies para Web Scraping: pools de IPv4 e ISP dedicados ilimitados para crawlers 24/7
Proxies HTTP(S) IPv4 dedicados e ISP estáticos de alta velocidade para Python, Playwright, Selenium e Scrapy com tráfego mensal ilimitado.
Configuração de proxy
Como configurar proxy no Playwright (autenticação global e por contexto)
Configure proxies HTTP(S) autenticados no Playwright para Node.js e Python. Execute múltiplos IPs estáticos isolados entre diferentes BrowserContexts.
Configuração de proxy
Como configurar proxy no Node.js (Axios e Native Fetch)
Configure proxies HTTP(S) autenticados no Node.js e TypeScript com https-proxy-agent no Axios e Undici ProxyAgent no fetch nativo.
Ferramentas grátis
Conversor de Formato de Proxy em Lote (100% Seguro no Navegador)
Formatador de listas de proxies em lote 100% no navegador. Converta entre ip:port:user:pass, user:pass@ip:port, URLs http://, URIs SOCKS5, arrays JSON e FoxyProxy.
Proxies por plataforma
Proxies para SEO e SERP Tracking: posições exatas de palavras-chave em 7 países
Monitore o ranking de palavras-chave locais, audite redirecionamentos geográficos e execute o Screaming Frog com proxies IPv4 dedicados e ISP estáticos ilimitados.
Proxies por plataforma
Proxies para YouTube: isole múltiplos canais do Studio e contas AdSense em IPs estáticos
Isole canais do YouTube Studio e contas AdSense com proxies ISP estáticos e IPv4 dedicados com tráfego ilimitado nos EUA, Vietnã, Japão e Reino Unido.
IPV4 · united states
Proxies IPv4 Privados nos Estados Unidos: IPs Datacenter Dedicados e Rápidos
Proxies IPv4 privados dedicados nos EUA para web scraping, SERP, anúncios e Amazon. IP estático, usuário único, tráfego ilimitado e ativação rápida.
IPV4 · singapore
Proxies IPv4 Privados em Singapura: IPs Dedicados para Vendas e Anúncios Regionais
Proxies IPv4 privados dedicados de Singapura para lojas Lazada e Shopee SG, contas de anúncios e automação rápida. Tráfego ilimitado e IP estático.