把上下文 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 填充该字段;代理认证仍然需要各自的质询处理。

相关文章