proxys.store

Playwright でプロキシを使う

プロキシはブラウザ起動時かコンテキスト単位で指定し、認証情報はアドレスの中ではなく別項目に書きます。

プロキシ付きで起動する

server にはスキーム・ホスト・ポートだけを書きます。Playwright は認証情報を username と password に分けて受け取るため、http://ユーザー名:パスワード@ホスト という書き方はここでは通りません。

import { chromium } from "playwright";

const browser = await chromium.launch({
  proxy: {
    server: "http://gw.dataimpulse.com:823",
    username: "LOGIN__cr.de",
    password: "PASSWORD",
  },
});

const page = await browser.newPage();
await page.goto("https://ipinfo.io/json");
console.log(await page.textContent("body"));
await browser.close();

1 プロセスで複数の国を使う

browser.newContext も同じ proxy オブジェクトを受け取ります。つまり起動中の 1 つのブラウザで、国の異なるコンテキストを同時に持てます。国は username 項目、つまりユーザー名の __cr 接尾辞に入ります。

コンテキストは Cookie とストレージが分離されているため、セッションが混ざることはありません。固定 IP が必要なコンテキストには、server に 10000〜20000 の固定ポートを、コンテキストごとに別の番号で指定します。

次を読む