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?;
浏览器已经连接或启动,其 handler 必须持续被轮询。通过外层的异步函数向外传播错误,然后用 page 进行导航。
让上下文保持存活,直到其页面完成,并在清理时通过 browser.dispose_browser_context 释放它。上下文的 proxy_server 决定使用哪个端点。对于获准的公开浏览,可以用由HTTP 代理列表构建的 HTTP URL 填充该字段;代理认证仍然需要各自的质询处理。