Chromiumoxide のページはプロキシコンテキストに属する必要がある
プロキシを設定したブラウザコンテキストを作成し、Chromiumoxide のページを開く前にその ID を CreateTargetParams に設定します。
コンテキスト 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 をそのフィールドに入れられますが、プロキシ認証には依然として独自のチャレンジ処理が必要です。