በjsoup ውስጥ በHTTP ፕሮክሲ በኩል ገጽ ማምጣት
የjsoup የጥያቄ ደረጃ HTTP ፕሮክሲ API ይጠቀሙ እና በርካታ ሠራተኞች የክፍለ ጊዜ ቅንብሮችን ሲያጋሩ የተለያዩ ጥያቄዎችን ይፍጠሩ።
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 ጀምሮ ነው፣ ስለዚህ አንድ የቆየ መተግበሪያ የክፍለ ጊዜ ምሳሌውን ከመውሰዱ በፊት ጥገኝነቱን ማረጋገጥ አለበት።
ምስክርነቶች ለተረጋገጠ ፕሮክሲ ተጨማሪ መስፈርት ናቸው። የተሳካ የመንገድ ምርጫ መለያ አያቀርብም፣ የፕሮክሲ ተግዳሮት መቀበል ደግሞ ወደ ፖርቱ መገናኘት ከመክሸፍ የተለየ ነው።