GBProxies

Как использовать аутентифицированные прокси с Puppeteer

Chrome принимает хост и порт прокси как флаг запуска, а Puppeteer отвечает на запрос входа через page.authenticate.

Шаги

  1. Запустите Chrome с --proxy-server=host:port
  2. Вызовите page.authenticate с вашим именем пользователя и паролем прокси
  3. Включите перехват запросов, чтобы блокировать изображения и шрифты
  4. Открывайте один браузер на session id для sticky IP

Пример кода

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();

Замените USERNAME и PASSWORD на логин прокси со страницы Proxies в консоли. Порт 10000, резидентные HTTP; см. порты каждого продукта ниже.

Советы

  • Блокировка изображений часто сокращает трафик на странице более чем вдвое
  • Sticky session id сохраняет один IP для всего потока просмотра

Частые вопросы

Почему Chrome все еще показывает окно входа?

page.authenticate должен запускаться до первой навигации на странице.

Как использовать аутентифицированные прокси с Puppeteer