jsoup var iegūt lapu caur HTTP starpniekserveri un analizēt atbildi tajā pašā izsaukumā:

Document page = Jsoup.connect("https://www.example.com/")
    .proxy("proxy.example", 8080)
    .get();

Starpniekserveri identificē uzņēmēja nosaukums un vesela skaitļa ports. Atļautajiem publisku lapu pieprasījumiem izvēlies HTTP galapunktu no sava pakalpojuma vai no HTTP starpniekserveru saraksta. URL, kas tiek nodots connect, paliek lapa, kuru vēlies. Nav jālejupielādē HTML virknē ar atsevišķu URLConnection tikai šī maršruta pievienošanai.

proxy(String, int) izvēlas HTTP starpniekserveri šim pieprasījumam. Porta numurs, piemēram, 1080, nemaina tā protokolu uz SOCKS; starpniekservera galapunktam ir jārunā ar konfigurējamo tipu. jsoup arī piedāvā pārslodzi, kas pieņem java.net.Proxy, bet atbalsts konkrētam maršrutam joprojām ir atkarīgs no izmantotās HTTP implementācijas.

Dod katram darbiniekam savu pieprasījumu

Pieprasījuma līmeņa opcija atvieglo paralēlu darbu vairāk nekā JVM sistēmas īpašību maiņa ap katru lejupielādi. Turi mainīgo pieprasījumu atsevišķi katram darbiniekam. Mūsdienu jsoup var kopīgot sesijas iestatījumus un sīkfailu krātuvi, veidojot jaunu pieprasījumu:

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();

Iepriekš minētie izsaukumi skaidrības labad darbojas secīgi. Ja darbs tiek izplatīts vienlaikus, veido pieprasījumus neatkarīgi, nevis maini starpniekserveri vienā darbojošā Connection. Kopīga sesija kopīgo arī sīkfailus; izmanto dažādas sesijas, kad pārlūkošanas identitātēm jāpaliek atsevišķām.

Šīs saskarnes ir jsoup 1.21.2. Saskarne newRequest() bez argumentiem ir no 1.14.1, tāpēc vecākai lietojumprogrammai pirms sesijas piemēra pieņemšanas jāpārbauda sava atkarība.

Akreditācijas dati ir papildu prasība autentificētam starpniekserverim. Veiksmīga maršruta izvēle nenodrošina kontu, un starpniekservera izaicinājuma saņemšana atšķiras no nespējas pieslēgties tā portam.

Saistītie raksti