jsoup može dohvatiti stranicu kroz HTTP proxy i analizirati odgovor u istom pozivu:

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

Naziv hosta i celobrojni port identifikuju proxy. Za dozvoljene zahteve ka javnim stranicama izaberi HTTP krajnju tačku iz svoje usluge ili sa liste HTTP proxyja. URL prosleđen u connect ostaje stranica koju želiš. Nije potrebno preuzimati HTML u niz zasebnim URLConnection-om samo da bi se dodala ova ruta.

proxy(String, int) bira HTTP proxy za taj zahtev. Broj porta kao 1080 ne menja njegov protokol u SOCKS; krajnja tačka proxyja mora da govori tip koji se konfiguriše. jsoup takođe nudi preopterećenje koje prihvata java.net.Proxy, ali podrška za određenu rutu i dalje zavisi od HTTP implementacije koja se koristi.

Daj svakom radniku sopstveni zahtev

Opcija na nivou zahteva olakšava paralelan rad više od menjanja sistemskih svojstava JVM-a oko svakog preuzimanja. Drži promenljivi zahtev odvojenim za svakog radnika. Savremeni jsoup može da deli postavke sesije i skladište kolačića dok stvara novi zahtev:

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

Gornji pozivi se izvršavaju uzastopno radi jasnoće. Ako se posao raspoređuje istovremeno, stvaraj zahteve nezavisno umesto da menjaš proxy na jednom Connection-u koji je u toku. Deljena sesija deli i kolačiće; koristi različite sesije kada identiteti pregledanja treba da ostanu odvojeni.

Ovi interfejsi su prisutni u jsoup 1.21.2. Interfejs newRequest() bez argumenata datira iz 1.14.1, pa starija aplikacija treba da proveri svoju zavisnost pre nego što prihvati primer sa sesijom.

Akreditivi su dodatni uslov za autentifikovani proxy. Uspešan izbor rute ne daje nalog, a primanje proxy izazova razlikuje se od neuspeha povezivanja sa njegovim portom.

Povezani članci