jsoup kan die bladsy deur 'n HTTP-proxy haal en die antwoord in dieselfde oproep ontleed:

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

Die hostnaam en heelgetalpoort identifiseer die proxy. Vir toegelate versoeke na openbare bladsye, kies 'n HTTP-eindpunt uit jou diens of die HTTP-proxelys. Die URL wat aan connect gegee word, bly die bladsy wat jy wil he. Jy hoef nie die HTML in 'n string met 'n aparte URLConnection af te laai net om hierdie roete by te voeg nie.

proxy(String, int) kies 'n HTTP-proxy vir daardie versoek. 'n Poortnommer soos 1080 verander nie sy protokol na SOCKS nie; die proxy-eindpunt moet die tipe praat wat gekonfigureer word. jsoup bied ook 'n oorlaaide metode wat java.net.Proxy aanvaar, maar ondersteuning vir 'n bepaalde roete hang steeds van die HTTP-implementering in gebruik af.

Gee elke werker sy eie versoek

'n Opsie op versoekvlak maak parallelle werk makliker as om JVM-stelseleienskappe rondom elke aflaai te verander. Hou die veranderlike versoek apart vir elke werker. Moderne jsoup kan 'n sessie se instellings en koekiestoor deel terwyl dit 'n vars versoek skep:

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

Bogenoemde oproepe loop opeenvolgend vir duidelikheid. As werk gelyktydig versprei word, skep die versoeke onafhanklik eerder as om die proxy op een Connection wat aan die gang is te verander. 'n Gedeelde sessie deel ook koekies; gebruik verskillende sessies wanneer die blaai-identiteite apart moet bly.

Hierdie koppelvlakke is in jsoup 1.21.2 teenwoordig. Die koppelvlak newRequest() sonder argumente dateer uit 1.14.1, so 'n ouer toepassing moet sy afhanklikheid nagaan voordat dit die sessievoorbeeld aanneem.

Geloofsbriewe is 'n verdere vereiste vir 'n geoutentiseerde proxy. 'n Suksesvolle roetekeuse verskaf nie 'n rekening nie, en om 'n proxy-uitdaging te ontvang is anders as om nie aan sy poort te kan koppel nie.

Verwante artikels