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.

Povezani članci