Lehe tõmbamine HTTP-puhverserveri kaudu jsoupis
Kasuta jsoupi päringutasandi HTTP-puhverserveri API-t ja loo eraldi päringud, kui mitu töötajat jagavad seansi seadeid.
jsoup saab lehe HTTP-puhverserveri kaudu tuua ja vastuse samas kutsungis parsida:
Document page = Jsoup.connect("https://www.example.com/")
.proxy("proxy.example", 8080)
.get();
Puhverserveri määravad hostinimi ja täisarvuline port. Lubatud avalike lehtede päringute jaoks vali HTTP-lõpp-punkt oma teenusest või HTTP-puhverserverite loendist. connect-le edastatud URL jääb leheks, mida soovid. HTML-i ei ole vaja eraldi URLConnectioniga stringi alla laadida ainult selle marsruudi lisamiseks.
proxy(String, int) valib selle päringu jaoks HTTP-puhverserveri. Pordi number nagu 1080 ei muuda selle protokolli SOCKS-iks; puhverserveri lõpp-punkt peab rääkima seda tüüpi, mida konfigureeritakse. jsoup pakub ka ülekoormust, mis võtab vastu java.net.Proxy, kuid konkreetse marsruudi tugi sõltub endiselt kasutatavast HTTP-teostusest.
Anna igale töötajale oma päring
Päringutasandi valik teeb paralleelse töö lihtsamaks kui JVM-i süsteemiomaduste muutmine iga allalaadimise ümber. Hoia muudetav päring iga töötaja jaoks eraldi. Kaasaegne jsoup saab seansi seadeid ja küpsisepoodi jagada, luues samal ajal värske päringu:
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();
Ülaltoodud kutsungid töötavad selguse huvides järjestikku. Kui töö jaotatakse samaaegselt, loo päringud iseseisvalt, selle asemel et muuta puhverserverit ühel töötaval Connectionil. Jagatud seanss jagab ka küpsiseid; kasuta eri seansse, kui sirvimisidentiteedid peaksid eraldi jääma.
Need liidesed on olemas jsoupis 1.21.2. Ilma argumentideta liides newRequest() pärineb versioonist 1.14.1, seega vanem rakendus peaks enne seansinäite kasutuselevõttu oma sõltuvust kontrollima.
Kasutajaandmed on autenditud puhverserveri jaoks täiendav nõue. Edukas marsruudi valik ei anna kontot ning puhverserveri väljakutse saamine erineb selle pordiga ühenduse loomise ebaõnnestumisest.