Nôl tudalen drwy brocsi HTTP yn jsoup
Defnyddiwch API procsi HTTP ar lefel cais jsoup a chrëwch geisiadau ar wahân pan fo sawl gweithiwr yn rhannu gosodiadau sesiwn.
Gall jsoup nôl y dudalen drwy brocsi HTTP a dadansoddi'r ymateb yn yr un cais:
Document page = Jsoup.connect("https://www.example.com/")
.proxy("proxy.example", 8080)
.get();
Mae'r enw gwesteiwr a'r porth cyfanrif yn nodi'r procsi. Ar gyfer ceisiadau a ganiateir i dudalennau cyhoeddus, dewiswch bwynt terfyn HTTP o'ch gwasanaeth neu o'r rhestr procsi HTTP. Mae'r URL a roddir i connect yn aros y dudalen rydych ei heisiau. Nid oes angen lawrlwytho'r HTML i linyn gyda URLConnection ar wahân dim ond i ychwanegu'r llwybr hwn.
Mae proxy(String, int) yn dewis procsi HTTP ar gyfer y cais hwnnw. Nid yw rhif porth fel 1080 yn newid ei brotocol yn SOCKS; rhaid i bwynt terfyn y procsi siarad y math sy'n cael ei ffurfweddu. Mae jsoup hefyd yn datgelu gorlwythiad sy'n derbyn java.net.Proxy, ond mae cymorth ar gyfer llwybr penodol yn dal i ddibynnu ar y gweithrediad HTTP a ddefnyddir.
Rhowch gais ei hun i bob gweithiwr
Mae opsiwn ar lefel cais yn gwneud gwaith cyfochrog yn haws na newid priodweddau system JVM o amgylch pob lawrlwythiad. Cadwch y cais newidiol ar wahân i bob gweithiwr. Gall jsoup modern rannu gosodiadau a storfa cwcis sesiwn wrth greu cais newydd:
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();
Mae'r galwadau uchod yn rhedeg yn olynol er eglurder. Os yw'r gwaith yn cael ei anfon ar yr un pryd, crëwch y ceisiadau'n annibynnol yn hytrach na newid y procsi ar un Connection sy'n mynd rhagddo. Mae sesiwn a rennir hefyd yn rhannu cwcis; defnyddiwch sesiynau gwahanol pan ddylai'r hunaniaethau pori aros ar wahân.
Mae'r rhyngwynebau hyn yn bresennol yn jsoup 1.21.2. Mae'r rhyngwyneb newRequest() heb ddadl yn dyddio o 1.14.1, felly dylai cymhwysiad hŷn wirio ei ddibyniaeth cyn mabwysiadu'r enghraifft sesiwn.
Mae gofynion cyfrinair yn ofyniad pellach ar gyfer procsi sydd wedi'i ddilysu. Nid yw dewis llwybr llwyddiannus yn cyflenwi cyfrif, ac mae derbyn her procsi yn wahanol i fethu â chysylltu â'i borth.