スタンドアロンの Playwright API コンテキストでプロキシを設定する
ブラウザ起動設定がすべてを構成すると仮定せず、意図したプロキシをスタンドアロンの Playwright API リクエストコンテキストに渡します。
import { request as apiRequests } from '@playwright/test';
const api = await apiRequests.newContext({
proxy: { server: 'http://proxy.example:8080' }
});
try {
const response = await api.get('https://example.com/');
} finally {
await api.dispose();
}
スタンドアロンの APIRequestContext を作成するときに proxy を渡します。公開プロキシ経由で実行する場合は、HTTP プロキシ一覧から HTTP エンドポイントを選び、例のプロキシアドレスを置き換えます。意図した API URL は宛先としてそのままにします。このコンテキストは自身の接続設定を所有しており、使用後に破棄する必要があります。
ブラウザ起動設定は、独立して構築された API コンテキストを構成しません。Playwright Test の組み込み request フィクスチャは関連するテスト設定を読み取りますが、newContext() を呼び出すヘルパーは別の設定境界を作ります。ブラウザのナビゲーションは動くのにヘルパーがタイムアウトする場合は、その呼び出し箇所を見つけて、受け取っている options を確認してください。
ルーティングも宛先へのログインとは別です。プロキシの認証情報は中間者を認可します。Web サイトの認証情報と Cookie は対象を認可します。スタンドアロンのコンテキストは、ホスト名が一致するというだけでブラウザの Cookie を継承することはありません。ブラウザに関連付けられたリクエストコンテキストには、独自の文書化された Cookie 共有の動作があります。
ルートを選ぶときは証明書の検証を有効のままにします。ignoreHTTPSErrors が変えるのは検証であり、このコンテキストが使うプロキシではありません。