Maaaring kunin ng jsoup ang pahina sa pamamagitan ng HTTP proxy at suriin ang tugon sa parehong tawag:

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

Ang hostname at integer na port ang tumutukoy sa proxy. Para sa pinapayagang kahilingan sa mga pampublikong pahina, pumili ng HTTP endpoint mula sa iyong serbisyo o sa listahan ng HTTP proxy. Ang URL na ipinapasa sa connect ay nananatiling pahinang gusto mo. Hindi mo kailangang i-download ang HTML sa isang string gamit ang hiwalay na URLConnection para lamang idagdag ang rutang ito.

Pumipili ang proxy(String, int) ng HTTP proxy para sa kahilingang iyon. Ang numero ng port gaya ng 1080 ay hindi nagpapalit ng protocol nito sa SOCKS; kailangang magsalita ang endpoint ng proxy ng uri na kinokonfigura. Naglalabas din ang jsoup ng overload na tumatanggap ng java.net.Proxy, ngunit ang suporta para sa isang partikular na ruta ay nakasalalay pa rin sa HTTP implementation na ginagamit.

Bigyan ang bawat manggagawa ng sarili niyang kahilingan

Ang opsyon sa antas ng kahilingan ay nagpapadali ng parallel na trabaho kaysa sa pagbabago ng mga system property ng JVM sa paligid ng bawat download. Panatilihing hiwalay ang nababagong kahilingan para sa bawat manggagawa. Maaaring ibahagi ng modernong jsoup ang mga setting at cookie store ng sesyon habang gumagawa ng bagong kahilingan:

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

Ang mga tawag sa itaas ay tumatakbo nang sunud-sunod para sa kalinawan. Kung ang trabaho ay ipinamamahagi nang sabay-sabay, gawin ang mga kahilingan nang independiyente sa halip na baguhin ang proxy sa isang Connection na tumatakbo. Ang pinagsasaluhang sesyon ay nagbabahagi rin ng cookies; gumamit ng iba't ibang sesyon kapag ang mga pagkakakilanlan sa pagba-browse ay dapat manatiling hiwalay.

Ang mga interface na ito ay naroroon sa jsoup 1.21.2. Ang interface na newRequest() na walang argumento ay mula pa noong 1.14.1, kaya dapat suriin ng mas lumang aplikasyon ang dependency nito bago gamitin ang halimbawa ng sesyon.

Ang mga kredensyal ay karagdagang kinakailangan para sa isang authenticated na proxy. Ang matagumpay na pagpili ng ruta ay hindi nagbibigay ng account, at ang pagtanggap ng hamon ng proxy ay iba sa pagkabigong kumonekta sa port nito.

Kaugnay na mga artikulo