Orrialde bat HTTP proxy baten bidez eskuratzea jsoup-en
Erabili jsoup-en eskaera mailako HTTP proxy APIa eta sortu eskaera bereiziak hainbat langilek saioaren ezarpenak partekatzen dituztenean.
jsoup-ek orrialdea HTTP proxy baten bidez eskura dezake eta erantzuna dei berean analiza dezake:
Document page = Jsoup.connect("https://www.example.com/")
.proxy("proxy.example", 8080)
.get();
Ostalariaren izenak eta portu osoak proxya identifikatzen dute. Baimendutako orrialde publikoen eskaeretarako, hautatu HTTP amaiera-puntu bat zure zerbitzutik edo HTTP proxy zerrendatik. connect-(r)i pasatzen zaion URLa zuk nahi duzun orrialdea izaten jarraitzen du. Ez duzu HTMLa kate batean deskargatu behar URLConnection bereizi batekin bide hau gehitzeko soilik.
proxy(String, int)-k HTTP proxy bat hautatzen du eskaera horretarako. 1080 bezalako portu zenbaki batek ez du bere protokoloa SOCKS-era aldatzen; proxyaren amaiera-puntuak konfiguratzen ari den mota hitz egin behar du. jsoup-ek java.net.Proxy onartzen duen gainkarga bat ere eskaintzen du, baina bide jakin baterako laguntza erabiltzen ari den HTTP ezarpenaren mende dago oraindik.
Eman langile bakoitzari bere eskaera
Eskaera mailako aukerak lan paraleloa errazten du deskarga bakoitzaren inguruan JVM sistema-propietateak aldatzea baino. Mantendu eskaera aldakorra langile bakoitzarentzat bereizita. jsoup modernoak saio baten ezarpenak eta cookie biltegia parteka ditzake eskaera berri bat sortzen duen bitartean:
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();
Goiko deiek sekuentzialki exekutatzen dute argitasunagatik. Lana aldi berean banatzen bada, sortu eskaerak modu independentean, martxan dagoen Connection bakar batean proxya aldatzen ibili beharrean. Partekatutako saio batek cookieak ere partekatzen ditu; erabili saio desberdinak nabigazio-identitateak bereizita egon behar dutenean.
Interfaze hauek jsoup 1.21.2-n daude. newRequest() argumenturik gabeko interfazea 1.14.1etik dator, beraz, aplikazio zahar batek bere menpekotasuna egiaztatu beharko luke saioaren adibidea hartu aurretik.
Kredentzialak proxy autentifikatu baterako baldintza gehigarri bat dira. Bide hautaketa arrakastatsu batek ez du konturik ematen, eta proxyaren erronka bat jasotzea bere portura konektatu ezina izatearen desberdina da.