Создайте страницу в её контексте Chromiumoxide, настроенном на прокси, передав ID контекста цели страницы.

Для 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-прокси, может заполнить это поле; аутентификация прокси всё ещё требует собственной обработки запроса.

Похожие статьи