Rust headless_chrome: ustaw dane uwierzytelniające proxy HTTP przed nawigacją
Wybierz proxy HTTP przy uruchamianiu przeglądarki i włącz uwierzytelnianie Fetch na karcie headless_chrome przed nawigacją.
W crate Rust headless_chrome ustawienie uruchamiania przeglądarki wybiera pośrednika HTTP. Procedura Fetch karty dostarcza konto, gdy Chromium o nie poprosi:
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()?;Otaczająca funkcja propaguje błędy, a proxy_user i proxy_password to wartości String z istniejącej konfiguracji konta w aplikacji. Skonfiguruj uwierzytelnianie, zanim nawigacja wywoła wyzwanie.
Drugi argument enable_fetch włącza zdarzenia uwierzytelniania. Chromium nie traktuje danych użytkownika osadzonych w --proxy-server jako tej wymiany danych logowania.
Utrzymuj przeglądarkę i kartę przy życiu przez czas pracy. Jeśli zainstalowane jest też własne przechwytywanie Fetch, określ, kto wznawia wstrzymane żądania i kto odpowiada na wyzwania; nierozwiązane wstrzymane żądanie może zablokować nawigację.
To proste uwierzytelnianie na karcie zakłada zamierzone wyzwanie proxy. Przepływ z uwierzytelnianiem niepowiązanego origin wymaga jawnego ograniczenia wyzwania, a nie ponownego używania konta pośrednika dla każdego serwera. Ograniczenie Chromium w SOCKS5 dotyczące nazwy użytkownika i hasła również jest oddzielone od tej ścieżki uwierzytelniania HTTP.