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 प्रमाणीकरण मार्ग से अलग है।

संबंधित लेख