jsoup бетті HTTP прокси арқылы алып, жауапты сол шақыруда талдай алады:

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

Проксиді хост атауы мен бүтін санды порт анықтайды. Рұқсат етілген жалпыға ашық беттерге сұраулар үшін қызметіңізден немесе HTTP прокси тізімінен HTTP соңғы нүктесін таңдаңыз. connect-ке берілген URL сіз қалаған бет болып қалады. Тек осы маршрутты қосу үшін HTML-ды бөлек URLConnection арқылы жолға жүктеудің қажеті жоқ.

proxy(String, int) сол сұрау үшін HTTP прокси таңдайды. 1080 сияқты порт нөмірі оның протоколын SOCKS-ке өзгертпейді; проксидің соңғы нүктесі конфигурацияланып жатқан түрді сөйлеуі керек. jsoup сонымен қатар java.net.Proxy қабылдайтын артық жүктемені ұсынады, бірақ нақты маршрутты қолдау әлі де қолданылып жатқан HTTP іске асырылуына байланысты.

Әр жұмысшыға өз сұрауын беріңіз

Сұрау деңгейіндегі опция әр жүктеу төңірегінде JVM жүйелік қасиеттерін өзгертуге қарағанда параллель жұмысты жеңілдетеді. Өзгермелі сұрауды әр жұмысшы үшін бөлек ұстаңыз. Заманауи jsoup жаңа сұрау жасау кезінде сеанс параметрлері мен cookie қоймасын бөлісе алады:

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

Жоғарыдағы шақырулар анықтық үшін тізбектей орындалады. Егер жұмыс бір уақытта таратылса, проксиді орындалып жатқан бір Connection-да өзгертудің орнына сұрауларды дербес жасаңыз. Ортақ сеанс cookie файлдарын да бөліседі; шолу сәйкестіктері бөлек қалуы керек болса, әртүрлі сеанстарды қолданыңыз.

Бұл интерфейстер jsoup 1.21.2-де бар. Аргументсіз newRequest() интерфейсі 1.14.1-ден басталады, сондықтан ескі қолданба сеанс мысалын қабылдамас бұрын тәуелділігін тексеруі керек.

Тіркелгі деректері аутентификацияланған прокси үшін қосымша талап болып табылады. Сәтті маршрут таңдау тіркелгіні бермейді, ал прокси шақыруын алу оның портына қосыла алмаудан өзгеше.

Қатысты мақалалар