jsoup kan hente sida gjennom ein HTTP-proxy og parse svaret i same kall:

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

Vertnamnet og heiltalsporten identifiserer proxyen. For tillatne førespurnader til offentlege sider, vel eit HTTP-endepunkt frå tenesta di eller frå HTTP-proxylista. URL-en som blir send til connect blir verande sida du vil ha. Du treng ikkje laste ned HTML-en til ein streng med ein separat URLConnection berre for å leggje til denne ruta.

proxy(String, int) vel ein HTTP-proxy for den førespurnaden. Eit portnummer som 1080 endrar ikkje protokollen til SOCKS; endepunktet til proxyen må snakke den typen som blir konfigurert. jsoup tilbyr òg ei overbelasting som godtek java.net.Proxy, men støtte for ei bestemt rute avheng framleis av HTTP-implementasjonen som blir brukt.

Gi kvar arbeidar sin eigen førespurnad

Eit val på førespurnadsnivå gjer parallelt arbeid enklare enn å endre JVM-systemeigenskapar rundt kvar nedlasting. Hald den muterbare førespurnaden skild for kvar arbeidar. Moderne jsoup kan dele innstillingar og cookielager i ein sesjon medan han lagar ein fersk førespurnad:

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

Kalla ovanfor køyrer sekvensielt for klarleik. Viss arbeidet blir fordelt samstundes, lag førespurnadene sjølvstendige i staden for å endre proxyen på ein Connection som er i gang. Ein delt sesjon deler òg cookies; bruk ulike sesjonar når nettlesaridentitetane skal haldast skilde.

Desse grensesnitta finst i jsoup 1.21.2. Grensesnittet newRequest() utan argument stammar frå 1.14.1, så ein eldre applikasjon bør sjekke avhengnaden sin før han tek i bruk sesjonseksempelet.

Legitimasjon er eit ytterlegare krav for ein autentisert proxy. Eit vellukka ruteval leverer ikkje ein konto, og det å ta imot ei proxy-utfordring er annleis enn å mislukkast med å kople til porten.

Relaterte artiklar