jsoup voi hakea sivun HTTP-välityspalvelimen kautta ja jäsentää vastauksen samassa kutsussa:

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

Isäntänimi ja kokonaislukupertti tunnistavat välityspalvelimen. Sallituille julkisten sivujen pyynnöille valitse HTTP-päätepiste palvelustasi tai HTTP-välityspalvelinluettelosta. connect-kutsulle annettu URL pysyy sivuna, jonka haluat. HTML:ää ei tarvitse ladata merkkijonoon erillisellä URLConnectionilla vain tämän reitin lisäämiseksi.

proxy(String, int) valitsee HTTP-välityspalvelimen kyseiselle pyynnölle. Porttinumero kuten 1080 ei muuta sen protokollaa SOCKSiksi; välityspalvelimen päätepisteen on puhuttava konfiguroitavaa tyyppiä. jsoup tarjoaa myös ylikuormituksen, joka hyväksyy java.net.Proxy, mutta tietyn reitin tuki riippuu edelleen käytetystä HTTP-toteutuksesta.

Anna jokaiselle työntekijälle oma pyyntö

Pyyntötason valinta tekee rinnakkaisesta työstä helpompaa kuin JVM:n järjestelmäominaisuuksien muuttaminen jokaisen latauksen ympärillä. Pidä muuttuva pyyntö erillään jokaiselle työntekijälle. Nykyaikainen jsoup voi jakaa istunnon asetukset ja evästesäilön luodessaan uutta pyyntöä:

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

Yllä olevat kutsut ajetaan peräkkäin selkeyden vuoksi. Jos työ jaetaan samanaikaisesti, luo pyynnöt itsenäisesti sen sijaan, että vaihtaisit välityspalvelinta yhdellä käynnissä olevalla Connectionilla. Jaettu istunto jakaa myös evästeet; käytä eri istuntoja, kun selausidentiteettien on pysyttävä erillään.

Nämä rajapinnat ovat jsoupissa 1.21.2. Argumentiton newRequest()-rajapinta on peräisin versiosta 1.14.1, joten vanhemman sovelluksen kannattaa tarkistaa riippuvuutensa ennen istuntuesimerkin käyttöönottoa.

Tunnistetiedot ovat lisävaatimus todennetulle välityspalvelimelle. Onnistunut reitin valinta ei toimita tiliä, ja välityspalvelimen haasteen vastaanottaminen eroaa sen porttiin yhdistämisen epäonnistumisesta.

Aiheeseen liittyvät artikkelit