जावा में URLConnections के लिए उपयोगकर्ता एजेंट को अनुकूलित करना
वेब सामग्री पुनर्प्राप्त करने के लिए जावा में URLConnection का उपयोग करते समय, एक कस्टम उपयोगकर्ता एजेंट सेट करना अक्सर आवश्यक होता है सटीक वेबसाइट क्रॉलिंग और उपयोगकर्ता सिमुलेशन। हालाँकि, डिफ़ॉल्ट जावा रनटाइम अपने स्वयं के पहचानकर्ता को उपयोगकर्ता एजेंट स्ट्रिंग में जोड़ता है, जो कुछ परिदृश्यों में वांछनीय नहीं हो सकता है।
क्वेरी
एक जावा डेवलपर ने सहायता मांगी रनटाइम द्वारा जोड़े गए "Java/1.5.0_19" प्रत्यय के बिना उपयोगकर्ता एजेंट सेट करने में। उपयोगकर्ता ने एक कोड स्निपेट प्रदान किया जिसमें बताया गया कि कैसे उन्होंने setRequestProperty() का उपयोग करके उपयोगकर्ता एजेंट को सेट करने का प्रयास किया।
समाधान
सौभाग्य से, जावा 1.6.30 और बाद में, setRequestProperty("User-Agent", "") के माध्यम से उपयोगकर्ता एजेंट को सेट करना, बिना किसी अतिरिक्त जावा रनटाइम जानकारी जोड़े, त्रुटिहीन रूप से काम करता है। इसे प्रदर्शित करने के लिए, डेवलपर ने आने वाले HTTP अनुरोधों को सुनने के लिए नेटकैट का उपयोग किया और देखा कि कस्टम उपयोगकर्ता एजेंट को जावा प्रत्यय के बिना सफलतापूर्वक भेजा गया था।
पूर्ण कार्यान्वयन
import java.io.IOException; import java.net.URL; import java.net.URLConnection; public class CustomUserAgent { public static void main(String[] args) throws IOException { URL url = new URL("http://localhost:8080/foobar"); URLConnection hc = url.openConnection(); hc.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"); System.out.println(hc.getContentType()); } }
इस दृष्टिकोण का उपयोग करके, डेवलपर्स अपने वेब स्क्रैपिंग या अन्य संचार कार्यों के लिए वांछित व्यवहार सुनिश्चित करते हुए, बिना किसी अवांछित जावा-विशिष्ट परिवर्धन के जावा में अपने यूआरएलकनेक्शन के लिए उपयोगकर्ता एजेंटों को प्रभावी ढंग से सेट कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3