Rust headless_chrome क्रेटमध्ये ब्राउझरची लाँच सेटिंग HTTP मध्यस्थ निवडते. Chromium मागणी करताच टॅबचा Fetch हँडलर खाते पुरवतो:

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 प्रमाणीकरण मार्गापासून वेगळी आहे.

संबंधित लेख