I Rust-craten headless_chrome vælger browserens startindstilling en HTTP-mellemmand. Fanens Fetch-handler leverer kontoen, når Chromium beder om den:

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()?;

Den omgivende funktion videresender fejl, og proxy_user og proxy_password er String-værdier fra applikationens eksisterende kontokonfiguration. Opsæt godkendelsen, før navigationen kan udløse udfordringen.

enable_fetch' andet argument aktiverer godkendelseshændelser. Chromium betragter ikke brugeroplysninger i --proxy-server som denne udveksling af legitimationsoplysninger.

Hold browseren og fanen i live under arbejdet. Hvis der også er installeret egen Fetch-aflytning, skal du definere, hvem der fortsætter satte anmodninger, og hvem der svarer på udfordringer; en uafklaret sat anmodning kan blokere navigationen.

Denne enkle godkendelse på fanen forudsætter den tilsigtede proxy-udfordring. Et forløb med godkendelse fra en uvedkommende origin kræver eksplicit afgrænsning af udfordringen i stedet for at genbruge mellemmandens konto til hver server. Chromiums SOCKS5-begrænsning på brugernavn og adgangskode er også adskilt fra denne HTTP-godkendelsesvej.

Relaterede artikler