Rust headless_chrome: postavite HTTP proxy akreditive prije navigacije
Odaberite HTTP proxy pri pokretanju preglednika i omogućite Fetch autentifikaciju na headless_chrome kartici prije navigacije.
Kod Rust cratea headless_chrome postavka pokretanja preglednika bira HTTP posrednika. Fetch rukovalac kartice daje račun kada Chromium to zatraži:
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()?;Okolna funkcija prosljeđuje greške, a proxy_user i proxy_password su String vrijednosti iz postojeće konfiguracije računa u aplikaciji. Postavite autentifikaciju prije nego navigacija pokrene izazov.
Drugi argument funkcije enable_fetch uključuje događaje autentifikacije. Chromium ne tretira korisničke podatke u --proxy-server kao ovu razmjenu akreditiva.
Držite preglednik i karticu živima za radni zadatak. Ako je instalirano i vlastito Fetch presretanje, odredite ko nastavlja pauzirane zahtjeve i odgovara na izazove; neriješen pauziran zahtjev može zaustaviti navigaciju.
Ovo jednostavno postavljanje autentifikacije kartice pretpostavlja namjeravani proxy izazov. Tok rada s autentifikacijom nepovezanog origin-a treba izričito ograničavanje izazova umjesto ponovne upotrebe računa posrednika za svaki poslužitelj. Chromiumovo SOCKS5 ograničenje korisničkog imena i lozinke također je odvojeno od ovog HTTP puta autentifikacije.