既存のウィンドウを持つ非同期のメインプロセス関数で、そのウィンドウが実際に使っているセッションに問い合わせます。

const selectedSession = mainWindow.webContents.session;
const route = await selectedSession.resolveProxy('https://api.example/');

現在の API は文字列に解決される Promise を返します。構成の変更を調べる前に、保留中の setProxy 操作を待ってください。

結果は URL 固有のプロキシ判定です。仮の値は次のようになります。

PROXY proxy-a.example:8080; PROXY proxy-b.example:8080; DIRECT

これは PAC 形式の構文で並んだ候補リストであり、単一のホスト名ではありません。DIRECT は直接候補を明示的に表します。空の結果は別に扱い、空または認識できない文字列をすべて暗黙に DIRECT と見なさないでください。

PAC とバイパスの判定は宛先によって変わりうるため、実際の対象 URL に問い合わせてください。同様に、パーティション化されたセッションを使うウィンドウが session.defaultSession と同じポリシーを持つ必要はありません。

プロキシ解決には、PAC スクリプトの取得のような自動構成の処理が含まれる場合があります。返された選択肢は依然として、対象サイトへの完了したリクエストでも、プロキシへのログイン成功でも、その公開出口 IP の証明でもありません。後続のリクエストの結果と比較するときは、セッション、URL、解決された候補を保持してください。

関連記事