प्रति 4.3 साख मैं कम से एक को पचाने प्रमाणीकरण उदाहरण के लिए एक नज़र होने दिया गया है: मेरे परिदृश्य मेंअपाचे HTTP ग्राहक के अनुरोध
http://hc.apache.org/httpcomponents-client-4.3.x/examples.html
कई धागे HTTP अनुरोध जारी करने के देखते हैं और उनमें से प्रत्येक हो गया है प्रमाण पत्र के अपने सेट के साथ प्रमाणित। इसके अतिरिक्त, कृपया इस सवाल को अपाचे HTTP क्लाइंट 4.3 के बाद शायद बहुत विशिष्ट है, 4.2 अलग-अलग तरीके से प्रमाणीकरण संभालता है, हालांकि मैंने इसे स्वयं नहीं देखा है। उस ने कहा, वास्तविक सवाल चला जाता है।
मैं केवल एक क्लाइंट इंस्टेंस (क्लास का स्थिर सदस्य, जो थ्रेडसेफ है) का उपयोग करना चाहता हूं और कई समवर्ती अनुरोधों का समर्थन करने के लिए इसे एक कनेक्शन मैनेजर देना चाहता हूं। मुद्दा यह है कि प्रत्येक अनुरोध अलग-अलग प्रमाण-पत्र प्रदान करेगा और मैं प्रति अनुरोध प्रमाण पत्र असाइन करने का तरीका नहीं देख रहा हूं क्योंकि http क्लाइंट बनाने के दौरान प्रमाण-पत्र प्रदाता सेट किया गया है। ऊपर के लिंक से:
[...]
HttpHost targetHost = new HttpHost("localhost", 80, "http");
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(
new AuthScope(targetHost.getHostName(), targetHost.getPort()),
new UsernamePasswordCredentials("username", "password"));
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCredentialsProvider(credsProvider).build();
[...]
जाँच:
http://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.html#d5e600
बिंदु 4.4 में कोड नमूना (की तलाश 4.4। HTTP प्रमाणीकरण और निष्पादन संदर्भ), ऐसा लगता है कि HttpClientContext को ऑथ कैश और क्रेडिटेंट दिया गया है als प्रदाता और फिर HTTP अनुरोध को पास कर दिया गया है। इसके आगे अनुरोध निष्पादित किया गया है और ऐसा लगता है कि क्लाइंट को HTTP अनुरोध में मेजबान द्वारा फ़िल्टर करने वाले प्रमाण-पत्र प्राप्त होंगे। दूसरे शब्दों में: यदि संदर्भ (या कैश) के पास वर्तमान HTTP अनुरोध के लक्षित होस्ट के लिए वैध प्रमाण-पत्र हैं, तो वह उनका उपयोग करेगा। मेरे लिए समस्या यह है कि अलग-अलग धागे एक ही मेजबान के लिए अलग-अलग अनुरोध करेंगे।
क्या HTTP अनुरोध प्रति कस्टम क्रेडेंशियल प्रदान करने का कोई तरीका है?
आपके समय के लिए अग्रिम धन्यवाद! :)
संभावित डुप्लिकेट [httpclient 4.x] के साथ एक अनुरोध को प्रमाणित करना (http://stackoverflow.com/questions/2516345/authenticating-a-single-request-with-httpclient-4-x) – davidwebster48