Rust headless_chrome crate'elyje naršyklės paleidimo nustatymas pasirenka HTTP tarpininką. Skirtuko Fetch apdorotuvas pateikia paskyrą, kai Chromium jos paprašo:

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

Apgaubianti funkcija perduoda klaidas, o proxy_user ir proxy_password yra String reikšmės iš esamos programos paskyros konfigūracijos. Nustatykite autentifikavimą prieš navigacijai sukeliant iššūkį.

Antrasis enable_fetch argumentas įjungia autentifikavimo įvykius. Chromium nelaiko --proxy-server įterptos naudotojo informacijos šiuo prisijungimo duomenų mainais.

Darbo metu palaikykite naršyklę ir skirtuką gyvus. Jei taip pat įdiegta sava Fetch perėmimo programa, nustatykite, kas tęsia pristabdytas užklausas ir kas atsako į iššūkius; neišspręsta pristabdyta užklausa gali sustabdyti navigaciją.

Šis paprastas skirtuko autentifikavimas numato numatytą proxy iššūkį. Darbo eiga su kito origin autentifikavimu reikalauja aiškaus iššūkio apibrėžimo, o ne tarpininko paskyros naudojimo kiekvienam serveriui. Chromium SOCKS5 naudotojo vardo ir slaptažodžio apribojimas taip pat atskirtas nuo šio HTTP autentifikavimo kelio.

Susiję straipsniai