jsoup માં HTTP પ્રોક્સી દ્વારા પૃષ્ઠ મેળવવું
jsoup ના વિનંતી-સ્તરના HTTP પ્રોક્સી API નો ઉપયોગ કરો અને જ્યારે ઘણા કાર્યકર્તા સત્ર સેટિંગ્સ વહેંચે ત્યારે અલગ વિનંતીઓ બનાવો.
jsoup HTTP પ્રોક્સી દ્વારા પૃષ્ઠ મેળવી શકે છે અને તે જ કૉલમાં પ્રતિસાદનું પૃથ્થકરણ કરી શકે છે:
Document page = Jsoup.connect("https://www.example.com/")
.proxy("proxy.example", 8080)
.get();
હોસ્ટનામ અને પૂર્ણાંક પોર્ટ પ્રોક્સીને ઓળખે છે. મંજૂર જાહેર પૃષ્ઠોની વિનંતીઓ માટે તમારી સેવા અથવા HTTP પ્રોક્સી સૂચિમાંથી HTTP એન્ડપોઇન્ટ પસંદ કરો. connect ને આપેલું URL તમે ઇચ્છો તે પૃષ્ઠ જ રહે છે. ફક્ત આ માર્ગ ઉમેરવા માટે અલગ URLConnection સાથે HTML ને શબ્દમાળામાં ડાઉનલોડ કરવાની જરૂર નથી.
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 થી છે, તેથી જૂની એપ્લિકેશને સત્રના ઉદાહરણને અપનાવતા પહેલાં તેની નિર્ભરતા તપાસવી જોઈએ.
પ્રમાણપત્રો પ્રમાણિત પ્રોક્સી માટે વધારાની આવશ્યકતા છે. સફળ માર્ગ પસંદગી એકાઉન્ટ પ્રદાન કરતી નથી, અને પ્રોક્સી પડકાર પ્રાપ્ત કરવો તેના પોર્ટ સાથે જોડાવામાં નિષ્ફળતા કરતાં અલગ છે.