Rust headless_chrome: issettja l-kredenzjali tal-proxy HTTP qabel in-navigazzjoni
Agħżel il-proxy HTTP meta tniedi l-browser u pprova l-awtentikazzjoni Fetch fuq it-tab headless_chrome qabel in-navigazzjoni.
Fil-crate Rust headless_chrome, is-setting tat-tnedija tal-browser tagħżel intermedjarju HTTP. Il-handler Fetch tat-tab jipprovdi l-kont meta Chromium jitolbu:
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()?;Il-funzjoni li tagħmilha ta' qafas tgħaddi l-iżbalji, u proxy_user u proxy_password huma valuri String mill-konfigurazzjoni tal-kont eżistenti tal-applikazzjoni. Issettja l-awtentikazzjoni qabel in-navigazzjoni tkun tista' tqajjem l-isfida.
It-tieni argument ta' enable_fetch jippermetti l-avvenimenti tal-awtentikazzjoni. Chromium ma jqisx l-informazzjoni tal-utent inkorporata f'--proxy-server bħala dan l-iskambju ta' kredenzjali.
Żomm il-browser u t-tab ħajjin għax-xogħol. Jekk hija installata wkoll interċettazzjoni Fetch personalizzata, iddefinixxi min ikompli t-talbiet sospiżi u min iwieġeb l-isfidi; talba sospiża li ma tiġix solvuta tista' twaqqaf in-navigazzjoni.
Dan is-setting sempliċi tal-awtentikazzjoni tat-tab jassumi l-isfida tal-proxy maħsuba. Fluss ta' xogħol b'awtentikazzjoni ta' origin mhux relatat jeħtieġ delimitazzjoni espliċita tal-isfida minflok ma jerġa' juża l-kont tal-intermedjarju għal kull server. Il-limitazzjoni ta' Chromium fuq SOCKS5 għall-isem tal-utent u l-password hija wkoll separata minn din it-triq tal-awtentikazzjoni HTTP.