Cómo Usar Proxies Autenticados con Puppeteer
Chrome toma el host y puerto del proxy como bandera de inicio, y Puppeteer responde al aviso de inicio de sesión con page.authenticate.
Pasos
- Inicia Chrome con --proxy-server=host:port
- Llama a page.authenticate con tu nombre de usuario y contraseña del proxy
- Activa la intercepción de solicitudes para bloquear imágenes y fuentes
- Abre un navegador por ID de sesión para IPs fijas
Código de ejemplo
import puppeteer from "puppeteer";
const browser = await puppeteer.launch({ args: ["--proxy-server=gw.gbproxies.cc:10000"] });
const page = await browser.newPage();
await page.authenticate({ username: "USERNAME-cc-fr-sid-shop1-ttl-30", password: "PASSWORD" });
await page.setRequestInterception(true);
page.on("request", (r) => (["image", "font", "media"].includes(r.resourceType()) ? r.abort() : r.continue()));
await page.goto("https://api.ipify.org");
console.log(await page.content());
await browser.close();Reemplaza USERNAME y PASSWORD con el inicio de sesión del proxy de la página Proxies de la consola. El puerto 10000 es HTTP residencial; consulta los puertos de cada producto abajo.
Consejos
- Bloquear imágenes a menudo reduce el tráfico por página a más de la mitad
- Un ID de sesión fijo mantiene la misma IP para todo un flujo de navegación
Preguntas comunes
¿Por qué Chrome aún muestra una ventana emergente de inicio de sesión?
page.authenticate debe ejecutarse antes de la primera navegación de esa página.