Rust headless_chrome: impostare le credenziali del proxy HTTP prima della navigazione
Scegli il proxy HTTP all'avvio del browser e abilita l'autenticazione Fetch nella scheda headless_chrome prima della navigazione.
Nel crate Rust headless_chrome, l'impostazione di avvio del browser seleziona un intermediario HTTP. Il gestore Fetch della scheda fornisce l'account quando Chromium lo richiede:
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()?;La funzione circostante propaga gli errori, e proxy_user e proxy_password sono valori String provenienti dalla configurazione dell'account già presente nell'applicazione. Imposta l'autenticazione prima che la navigazione possa attivare la richiesta di autenticazione.
Il secondo argomento di enable_fetch abilita gli eventi di autenticazione. Chromium non considera le informazioni utente incorporate in --proxy-server come questo scambio di credenziali.
Mantieni vivi il browser e la scheda per il lavoro. Se è installata anche un'intercettazione Fetch personalizzata, definisci chi prosegue le richieste in pausa e chi risponde alle richieste di autenticazione; una richiesta in pausa non risolta può bloccare la navigazione.
Questa semplice autenticazione della scheda presuppone la richiesta di autenticazione del proxy prevista. Un flusso con autenticazione di un'origine non correlata richiede una delimitazione esplicita della richiesta invece di riutilizzare l'account dell'intermediario per ogni server. Anche il limite di Chromium su SOCKS5 per nome utente e password è separato da questo percorso di autenticazione HTTP.