GBProxies

Puppeteerで認証付きプロキシを使用する方法

Chromeはプロキシホストとポートを起動フラグとして受け取り、Puppeteerはpage.authenticateでログインプロンプトに対応します。

手順

  1. --proxy-server=host:portでChromeを起動
  2. プロキシのユーザー名とパスワードでpage.authenticateを呼び出し
  3. リクエストインターセプションを有効にして画像とフォントをブロック
  4. 固定IPにはセッションIDごとに1つのブラウザを開く

コード例

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です。各製品のポートは以下を参照してください。

ヒント

  • 画像をブロックするとページあたりのトラフィックが半分以上削減されることが多い
  • 固定セッションIDはブラウジングフロー全体で同じIPを維持します

よくある質問

なぜChromeにログインポップアップが表示されるのですか?

page.authenticateはそのページの最初のナビゲーション前に実行する必要があります。

Puppeteerで認証付きプロキシを使用する方法