HtmlUnit के WebClient पर प्रॉक्सी सेट करें
पृष्ठ लोड करने से पहले HtmlUnit का अपना ProxyConfig कॉन्फ़िगर करें, जिसमें इसकी एंडपॉइंट स्कीम और रेगुलर-एक्सप्रेशन बायपास नियम शामिल हैं।
import org.htmlunit.ProxyConfig;
import org.htmlunit.WebClient;
try (WebClient browser = new WebClient()) {
ProxyConfig proxy =
new ProxyConfig("proxy.example.net", 8080, "http");
proxy.addHostsToProxyBypass("localhost");
browser.getOptions().setProxyConfig(proxy);
browser.getPage("https://example.net/");
}
नेविगेशन से पहले पृष्ठ लोड करने वाले WebClient पर ProxyConfig सेट करें। यह org.htmlunit नेमस्पेस का उपयोग करता है; पुरानी निर्भरताएँ com.gargoylesoftware.htmlunit का उपयोग करती थीं और भिन्न कंस्ट्रक्टर दे सकती हैं।
इस सार्वजनिक-पृष्ठ उदाहरण के लिए प्रॉक्सी होस्ट और पूर्णांक पोर्ट को HTTP प्रॉक्सी सूची से किसी अपुष्ट उम्मीदवार से बदलें। कंस्ट्रक्टर का "http" मध्यस्थ का वर्णन करता है, HTTPS पृष्ठ के लिए भी। होस्टनेम आर्ग्युमेंट में URL प्रीफ़िक्स न डालें और केवल गंतव्य से मेल खाने के लिए प्रोटोकॉल न बदलें।
बायपास मान रेगुलर एक्सप्रेशन हैं, PAC नियम या अल्पविराम से अलग की गई एनवायरनमेंट सूची नहीं। यदि कोई अनुरोध अप्रत्याशित रूप से सीधे जाता है, तो अनुरोधित होस्ट की उन पैटर्न से तुलना करें और पुष्टि करें कि यह इस WebClient का उपयोग करता है।
अलग से बनाया गया WebClient या HTTP क्लाइंट इस कॉन्फ़िगरेशन ऑब्जेक्ट को विरासत में नहीं लेता। समवर्ती अनुरोधों के आसपास वैश्विक स्थिति बदलने के बजाय पुन: प्रयोज्य इंस्टेंस को उनके काम से पहले कॉन्फ़िगर करें। गंतव्य सत्यापन और वेबसाइट लॉगिन अलग रहते हैं; प्रमाणित प्रॉक्सी को स्थापित HtmlUnit संस्करण का क्रेडेंशियल इंटरफ़ेस भी चाहिए। उदाहरण के लिए, HtmlUnit 4.21.0 प्रॉक्सी क्रेडेंशियल को होस्ट और पोर्ट के अनुसार सीमित करता है।