U Rust crate headless_chrome vybírá nastavení spuštění prohlížeče HTTP zprostředkovatele. Obslužná rutina Fetch na kartě dodá účet, když o něj Chromium požádá:

let proxy = "http://proxy.example:8080";
let options = headless_chrome::LaunchOptions::default_builder()
    .proxy_server(Some(proxy))
    .build()?;
let browser = headless_chrome::Browser::new(options)?;
let tab = browser.new_tab()?;

tab.enable_fetch(None, Some(true))?;
tab.authenticate(Some(proxy_user), Some(proxy_password))?;
tab.navigate_to("https://www.example.org/")?;
tab.wait_until_navigated()?;

Obklopující funkce předává chyby a proxy_user a proxy_password jsou hodnoty typu String z existující konfigurace účtu v aplikaci. Ověřování nastavte dřív, než navigace vyvolá výzvu.

Druhý argument enable_fetch zapíná události ověřování. Chromium nepovažuje uživatelské údaje v --proxy-server za tuto výměnu přihlašovacích údajů.

Nechte prohlížeč i kartu po celou dobu běhu živé. Pokud je nainstalováno i vlastní zachytávání Fetch, určete, kdo pokračuje v pozastavených požadavcích a kdo odpovídá na výzvy; nevyřešený pozastavený požadavek může navigaci zablokovat.

Toto jednoduché ověřování na kartě předpokládá zamýšlenou výzvu proxy. Pracovní postup s ověřováním nesouvisejícího origin potřebuje výslovné vymezení výzvy, místo aby účet zprostředkovatele používal pro každý server. Omezení Chromia u SOCKS5 pro uživatelské jméno a heslo je také oddělené od této cesty ověřování HTTP.

Související články