Rust headless_chrome: ange HTTP-proxyuppgifter före navigering
Välj HTTP-proxyn vid webbläsarstart och aktivera Fetch-autentisering på headless_chrome-fliken före navigering.
I Rust-craten headless_chrome väljer webbläsarens startinställning en HTTP-mellanhand. Flikens Fetch-hanterare levererar kontot när Chromium frågar efter det:
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 omgivande funktionen skickar vidare fel, och proxy_user och proxy_password är String-värden från applikationens befintliga kontokonfiguration. Ställ in autentiseringen innan navigeringen kan utlösa utmaningen.
enable_fetch andra argument aktiverar autentiseringshändelser. Chromium behandlar inte användarinformation i --proxy-server som detta utbyte av inloggningsuppgifter.
Håll webbläsaren och fliken vid liv under arbetet. Om egen Fetch-avlyssning också är installerad, bestäm vem som fortsätter pausade förfrågningar och vem som svarar på utmaningar; en oupplöst pausad förfrågan kan stoppa navigeringen.
Den här enkla autentiseringen på fliken förutsätter den avsedda proxy-utmaningen. Ett arbetsflöde med autentisering från en annan origin behöver explicit avgränsning av utmaningen i stället för att återanvända mellanhandens konto för varje server. Även Chromiums SOCKS5-begränsning för användarnamn och lösenord är åtskild från denna HTTP-autentiseringsväg.