Java URLConnection: URL बदले बिना प्रॉक्सी सेट करें
प्रॉक्सी को वेब सर्वर के रूप में संबोधित करने से बचें और मार्ग को अलग Java कनेक्शन विकल्प के रूप में दें।
वास्तविक संसाधन URL रखें और प्रॉक्सी को अलग से URLConnection को दें:
URI destination = URI.create("https://example.com/report");
Proxy proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("203.0.113.10", 8080));
URLConnection connection = destination.toURL().openConnection(proxy);
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);java.net आयातों का उपयोग करें और दस्तावेज़ के प्रॉक्सी पते को अपनी HTTP सेवा या HTTP प्रॉक्सी सूची के किसी उम्मीदवार से बदलें। कनेक्शन अभी भी https://example.com/report का अनुरोध करता है; प्रॉक्सी उसका मार्ग है। यह सेटअप न तो क्रेडेंशियल कॉन्फ़िगर करता है और न ही JVM में हर HTTP लाइब्रेरी।
प्रॉक्सी को संसाधन URL में डालने वाला गलत कोड रिपोर्ट के बजाय तेज़ प्रॉक्सी वेब पेज या त्रुटि प्राप्त कर सकता है। उस तेज़ प्रतिक्रिया को बेहतर प्रदर्शन के रूप में समझने से पहले स्थिति, सामग्री और वास्तविक गंतव्य की तुलना करें।
openConnection(Proxy) संसाधन पथ को गंतव्य URI पर छोड़ देता है। HTTPS प्रमाणपत्र सत्यापन के लिए भी वह होस्टनाम रखें; इसे मध्यस्थ में बदलने से रूटिंग त्रुटि में नाम बेमेल जुड़ सकता है।
यदि एप्लिकेशन कोई अन्य HTTP क्लाइंट बनाता है, तो वही क्लाइंट या उसका कनेक्शन-फ़ैक्टरी इंटरफ़ेस उपयोग करें। URLConnection प्रॉक्सी ऑब्जेक्ट ऐसा पथ कॉन्फ़िगर नहीं कर सकता जो इस API को कभी कॉल नहीं करता।