Rust headless_chrome: навигациядан мурун HTTP проксинин маалыматтарын коюу
Браузерди иштетүүдө HTTP проксини тандап, навигациядан мурун headless_chrome өтмөгүндө Fetch аутентификациясын күйгүзүңүз.
Rust headless_chrome крейтинде браузерди иштетүү параметри HTTP ортомчусун тандайт. Өтмөктүн Fetch иштетүүчүсү Chromium сураганда эсепти берет:
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()?;Айландырган функция каталарды өткөрөт, ал эми proxy_user жана proxy_password — колдонмонун учурдагы эсеп конфигурациясынан алынган String маанилери. Навигация чакырыкты пайда кылаардан мурун аутентификацияны орнотуңуз.
enable_fetchтин экинчи аргументи аутентификация окуяларын күйгүзөт. Chromium --proxy-server ичиндеги колдонуучу маалыматын бул маалымат алмашуу катары карабайт.
Иш учурунда браузерди жана өтмөктү тирүү кармаңыз. Эгер өзүңүздүн Fetch тосуусу да орнотулган болсо, токтотулган суроолорду ким улантарын жана чакырыктарга ким жооп берерин аныктаңыз; чечилбеген токтотулган суроо навигацияны токтотушу мүмкүн.
Бул жөнөкөй өтмөк аутентификациясы көздөлгөн прокси чакырыгын болжолдойт. Башка origin аутентификациясы бар жумуш агымы ортомчунун эсебин ар бир серверге кайра колдонуунун ордуна чакырыктын чөйрөсүн так аныктоону талап кылат. Chromiumдун SOCKS5 колдонуучу аты жана сырсөзү боюнча чектөөсү да бул HTTP аутентификация жолунан өзүнчө.