Comment utiliser des proxies authentifiés avec Puppeteer
Chrome prend l'hôte et le port du proxy comme drapeau de lancement, et Puppeteer répond à l'invite de connexion avec page.authenticate.
Étapes
- Lancez Chrome avec --proxy-server=host:port
- Appelez page.authenticate avec votre nom d'utilisateur et mot de passe proxy
- Activez l'interception des requêtes pour bloquer les images et polices
- Ouvrez un navigateur par ID de session pour des IP persistantes
Exemple de code
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();Remplacez USERNAME et PASSWORD par les identifiants proxy de la page Proxies de la console. Le port 10000 est HTTP résidentiel ; voir les ports de chaque produit ci-dessous.
Conseils
- Bloquer les images réduit souvent le trafic par page de plus de moitié
- Un ID de session persistant garde la même IP pour tout un flux de navigation
Questions fréquentes
Pourquoi Chrome affiche-t-il encore une popup de connexion ?
page.authenticate doit s'exécuter avant la première navigation de cette page.