コンテキスト ID をページのターゲットに渡して、ページをプロキシ設定済みの Chromiumoxide コンテキスト内で作成します。

Chromiumoxide 0.9.1 の場合、アプリケーションに既存の非同期ブラウザライフサイクルの中で行います。

use chromiumoxide::cdp::browser_protocol::target::{
    CreateBrowserContextParamsBuilder, CreateTargetParams,
};

let context_id = browser.create_browser_context(
    CreateBrowserContextParamsBuilder::default()
        .proxy_server("http://proxy.example:8080")
        .build()
).await?;

let mut target = CreateTargetParams::new("about:blank");
target.browser_context_id = Some(context_id.clone());
let page = browser.new_page(target).await?;

ブラウザはすでに接続または起動済みで、そのハンドラはポーリングされ続ける必要があります。エラーは外側の非同期関数を通して伝播させ、その後 page で移動します。

ページが終了するまでコンテキストを生かし続け、クリーンアップ時に browser.dispose_browser_context で破棄します。コンテキストの proxy_server がエンドポイントを選びます。許可された公開ブラウジングでは、HTTP プロキシ一覧から組み立てた HTTP URL をそのフィールドに入れられますが、プロキシ認証には依然として独自のチャレンジ処理が必要です。

関連記事