컨텍스트 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을 그 필드에 넣을 수 있지만, 프록시 인증은 여전히 자체 챌린지 처리가 필요합니다.

관련 글