jsoup ले HTTP प्रोक्सी मार्फत पृष्ठ ल्याउन र त्यही कलमा प्रतिक्रिया विश्लेषण गर्न सक्छ:

Document page = Jsoup.connect("https://www.example.com/")
    .proxy("proxy.example", 8080)
    .get();

होस्टनाम र पूर्णांक पोर्ट ले प्रोक्सी पहिचान गर्छन्। अनुमति दिइएका सार्वजनिक पृष्ठहरूका अनुरोधका लागि तपाईंको सेवा वा HTTP प्रोक्सी सूचीबाट HTTP एन्डपोइन्ट छान्नुहोस्। connect लाई दिइएको URL तपाईंले चाहेको पृष्ठ नै रहन्छ। यो मार्ग थप्न मात्र HTML लाई अलग URLConnection ले स्ट्रिङमा डाउनलोड गर्न आवश्यक छैन।

proxy(String, int) ले त्यो अनुरोधका लागि HTTP प्रोक्सी छान्छ। 1080 जस्तो पोर्ट नम्बरले यसको प्रोटोकललाई SOCKS मा बदल्दैन; प्रोक्सी एन्डपोइन्टले कन्फिगर हुँदै गरेको प्रकार बोल्नुपर्छ। jsoup ले java.net.Proxy स्वीकार गर्ने ओभरलोड पनि दिन्छ, तर कुनै विशेष मार्गको समर्थन अझै प्रयोग भइरहेको HTTP कार्यान्वयनमा निर्भर छ।

हरेक कामदारलाई आफ्नै अनुरोध दिनुहोस्

अनुरोध-स्तरको विकल्पले हरेक डाउनलोड वरिपरि JVM प्रणाली गुण परिवर्तन गर्नुभन्दा समानान्तर काम सजिलो बनाउँछ। परिवर्तनयोग्य अनुरोध हरेक कामदारका लागि छुट्टै राख्नुहोस्। आधुनिक jsoup ले नयाँ अनुरोध बनाउँदा सत्रका सेटिङ र कुकी भण्डार साझा गर्न सक्छ:

Connection session = Jsoup.newSession();
Document first = session.newRequest()
    .url("https://www.example.com/one")
    .proxy("proxy-a.example", 8080)
    .get();
Document second = session.newRequest()
    .url("https://www.example.com/two")
    .proxy("proxy-b.example", 8080)
    .get();

माथिका कलहरू स्पष्टताका लागि क्रमिक रूपमा चल्छन्। यदि काम एकैसाथ वितरण गरिन्छ भने चलिरहेको एउटै Connection मा प्रोक्सी बदल्नुको सट्टा अनुरोधहरू स्वतन्त्र रूपमा बनाउनुहोस्। साझा सत्रले कुकीहरू पनि साझा गर्छ; ब्राउजिङ पहिचान छुट्टै राख्नुपर्ने अवस्थामा फरक सत्र प्रयोग गर्नुहोस्।

यी इन्टरफेसहरू jsoup 1.21.2 मा छन्। आर्गुमेन्ट नभएको newRequest() इन्टरफेस 1.14.1 देखि आएको हो, त्यसैले पुरानो अनुप्रयोगले सत्रको उदाहरण अपनाउनुअघि आफ्नो निर्भरता जाँच्नुपर्छ।

प्रमाणहरू प्रमाणित प्रोक्सीका लागि अतिरिक्त आवश्यकता हुन्। सफल मार्ग छनोटले खाता दिँदैन, र प्रोक्सी चुनौती प्राप्त गर्नु यसको पोर्टमा जडान हुन नसक्नुभन्दा फरक हो।

सम्बन्धित लेखहरू