द्वारा प्रॉक्सी का उपयोग करने के लिए httpClient को कैसे बल देना है I http.proxyHost और http.proxyPort को httpClient पर कोई उपयोग नहीं है। पर्यावरण चर या वीएम तर्कों या कोड बदलने के बिना कुछ प्रॉक्सी का उपयोग करने के लिए httpClient को कैसे बल दें?कोड बदलने के बिना, पर्यावरण चर या JVM तर्क
उत्तर
क्या इससे मदद मिलती है?
System.setProperty("https.proxyHost", proxy_host);
System.setProperty("http.proxyHost", proxy_host);
System.setProperty("https.proxyPort", proxy_port);
System.setProperty("http.proxyPort", proxy_port);
या बिल्कुल आप कमांडलाइन
दुर्भाग्य से यह httpclient के लिए काम नहीं करता है, यह मेरा प्रश्न है – user496949
प्रश्न स्पष्ट रूप से बताता है कि वे चर काम नहीं कर रहे थे। –
आप client.getHostConfiguration().setProxy(host, port)
विधि के साथ अपने आप को द्वारा HttpClient
करने के लिए प्रॉक्सी मजबूर कर सकते हैं के माध्यम से एक ही गुण पारित कर सकते हैं। मैं आम तौर पर HttpClient
के आसपास रैपर वर्ग बनाते हैं और इस कक्षा को प्रारंभ करते समय मैं जो भी स्रोत (env। चर ...) से प्रॉक्सी सेट करता हूं।
मैंने स्थिति में java.net.ProxySelector.setDefault(new MyProxySelector())
का उपयोग किया जहां आप सीधे HttpClient
पर प्रॉक्सी सेट नहीं कर सकते। आपको अपनी खुद की प्रॉक्सी चयनकर्ता वर्ग को कार्यान्वित करना होगा और विधि का चयन अनुरोधित यूआरआई के आधार पर प्रॉक्सी चयन करता है। आप यूआरएल-> प्रॉक्सी मैपिंग को विशेष यूआरआई पते को आवश्यक प्रॉक्सी में कॉन्फ़िगर करने या वैश्विक स्तर पर सभी अनुरोधित यूआरआई के लिए एक प्रॉक्सी वापस करने के लिए कर सकते हैं।
जैसा कि मैं HttpClient स्रोत कोड में देख सकता हूं, प्रॉक्सी केवल setProxy विधि को कॉन्फ़िगर करने का कोई अन्य तरीका नहीं है। मैं कॉमन्स-httpclient-3.1 का उपयोग कर रहा हूँ।
समस्या यह है कि कभी-कभी मैं कोड को संशोधित नहीं कर सकता। – user496949
@ user496949 क्या आप 'एचटीपी क्लाइंट' के आसपास रैपर क्लास बना सकते हैं और इसे हमेशा अपने तरीके से शुरू कर सकते हैं? –
कहता है, मेरे पास एक तृतीय पक्ष लाइब्रेरी है, यह कुछ प्राप्त करने के लिए httpclient का उपयोग करती है। इस स्थिति के साथ कैसे डेल करें? – user496949
में https://issues.apache.org/jira/browse/HTTPCLIENT-1128
SystemDefaultHttpClient वर को जोड़ा गया है। 4,2
जैसा कि @wangf नीचे उल्लेखित है, आप '.prild()' को किसी भी HttpClientBuilder पर 'http.proxyHost' और 'http.proxyPort' जैसे सिस्टम गुणों को पढ़ने के लिए' .build() 'को कॉल करने से पहले' .useSystemProperties() 'का उपयोग कर सकते हैं: http: // hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/client/HttpClientBuilder.html#useSystemProperties() – bodecker
AFAIK, आप कोड में परिवर्तन के बिना इस प्रबंधन नहीं कर सकते देखते हैं लेकिन आप अपने खुद के कनेक्शन प्रबंधक का उपयोग करके देशी व्यवहार के करीब हो सकता है। ProxySelector changes URL's scheme from https:// to socket://
HTTP ग्राहक (v 4.5.1 मेरे मामले के लिए) इस तरह सिस्टम प्रॉक्सी उपयोग कर सकते हैं:
HttpClient httpClient = HttpClientBuilder.create().useSystemProperties().build();
//or
HttpClient httpClient = HttpClients.createSystem();
बिल्कुल, आप इस तरह के सिस्टम गुणों का उपयोग कर सकते हैं। यह न भूलें कि https: // ... urls के कनेक्शन के लिए आपको https.proxyHost आदि गुणों का उपयोग करना होगा। मेरे पक्ष से विवरण के साथ एक समान समस्या: http://stackoverflow.com/questions/30630330/what-java-properties-to-pass-to-a-java-app-to-authenticate-with-a-http -proxy / –
- 1. JVM -XX: + स्ट्रिंग कैश तर्क?
- 2. पर्यावरण चर या YAML config फ़ाइलों
- 3. तर्क पारित करने की रणनीति - पर्यावरण चर बनाम कमांड लाइन
- 4. JVM
- 5. विंडोज रजिस्ट्री चर बनाम पर्यावरण चर?
- 6. जावा सिस्टम गुण और पर्यावरण चर
- 7. पाइडेव ऑटोोजेन DJANGO_SETTINGS_MODULE पर्यावरण चर?
- 8. एक पूरी फ़ाइल को JVM तर्क
- 9. os.execv बिना तर्क तर्क
- 10. पर्यावरण चर को 32 बिट
- 11. डेल्फी पूर्वनिर्धारित पर्यावरण चर
- 12. क्या एक पर्यावरण चर
- 13. रूबी पर्यावरण चर
- 14. जावास्क्रिप्ट पर्यावरण चर
- 15. जावा निर्दिष्ट करने के लिए जावा तर्क। JVM
- 16. पर्यवेक्षक पर्यावरण चर सेट अप
- 17. लिंक से एसक्यूएल - पर्यावरण चर
- 18. उप परियोजनाओं के लिए एक्सकोड पर्यावरण चर
- 19. प्रतीकात्मक लिंक में पर्यावरण चर
- 20. टीएमपी पर्यावरण चर के साथ क्या हुआ?
- 21. पर्यावरण चर में एसएसएच कुंजी
- 22. वेबलॉगिक में सेट करने के लिए कस्टम तर्क JVM
- 23. कार्य बदलने के मूल्यों के साथ तर्क पास करना - व्यवहार?
- 24. चींटी स्क्रिप्ट में पर्यावरण चर सेट करना
- 25. कॉलिंग प्रक्रिया के पर्यावरण चर बदलना
- 26. लिनक्स - पर्यावरण चर सुरक्षित करना
- 27. XDG_SESSION_COOKIE पर्यावरण चर के लिए क्या है?
- 28. मैं सोमवार से रविवार से java.util.Calendar के लिए डिफ़ॉल्ट firstDayOfWeek बदलने के लिए कोशिश कर रहा हूँ एक JVM तर्क
- 29. एक्सकोड पर्यावरण चर वे पुरालेख के दौरान मौजूद नहीं हैं
- 30. CMAKE_INSTALL_PREFIX पर्यावरण चर - काम नहीं करता है?
आप इस प्रश्न के लिए एक समाधान मिल गया है? मुझे एक ही समस्या का सामना करना पड़ रहा है, एक थर्ड पार्टी लाइब्रेरी (एज़ूर-कीवॉल्ट-जावा-एसडीके) अपने स्वयं के httpClient का उपयोग करती है और मैं प्रॉक्सी का उपयोग करने के लिए इसे मजबूर करने में असमर्थ हूं। वास्तविक http कॉल नए निष्पादक धागे में किए जाते हैं जो मुझे कॉलिंग थ्रेड में प्रॉक्सी चयनकर्ता सेट करने की अनुमति नहीं देते हैं। कोई समाधान? –