Apache HttpClient 5 Fluent में Executor के साथ प्रॉक्सी प्रमाणीकरण
Fluent Request के viaProxy मार्ग को उसके Apache HttpClient 5 Executor पर क्रेडेंशियल के साथ जोड़ें।
Apache HttpClient 5 के Fluent API में, Request प्रॉक्सी चुन सकता है जबकि Executor उसका खाता प्रदान करता है। उस क्रेडेंशियल वाले ऑब्जेक्ट से अनुरोध चलाएँ:
HttpHost proxy = new HttpHost("http", "proxy.example", 8080);
Executor executor = Executor.newInstance()
.auth(proxy, proxyUser, proxyPassword.toCharArray());
String body = executor.execute(
Request.get("https://www.example.com/").viaProxy(proxy))
.returnContent()
.asString();
Executor और Request org.apache.hc.client5.http.fluent से हैं; HttpHost org.apache.hc.core5.http से है। खाता चर एप्लिकेशन के कॉन्फ़िगरेशन से आते हैं।
प्रॉक्सी के दोनों उपयोग जानबूझकर एक ही होस्ट और पोर्ट बताते हैं। viaProxy मार्ग चुनता है, जबकि auth उस मध्यस्थ के लिए क्रेडेंशियल Executor में पंजीकृत करता है। यदि अंतिम परिणाम 407 रहता है, तो चुने गए मार्ग की क्रेडेंशियल के दायरे से तुलना करें।
किसी अलग Request की सुविधाजनक execute विधि कॉल करने से दूसरा निष्पादन मार्ग इस्तेमाल होता। उदाहरण की तरह क्रेडेंशियल वाले Executor को ऑपरेशन से जुड़ा रखें, ताकि चुनौती पाने वाले क्लाइंट के पास कॉन्फ़िगर किया गया खाता हो।
उदाहरण 5.x का char-array पासवर्ड इंटरफ़ेस उपयोग करता है। पुराने HttpClient 4 Fluent स्निपेट अलग पैकेज और विधि हस्ताक्षर उपयोग करते हैं। अनुरोध पूरा होने पर returnContent प्रतिक्रिया इकाई का उपभोग करता है और उसका कनेक्शन पुनः उपयोग के लिए मुक्त करता है।