jsoup ичинде HTTP прокси аркылуу барак алуу
jsoup'тун сурам деңгээлиндеги HTTP прокси API'син колдонуп, бир нече жумушчу сессия жөндөөлөрүн бөлүшкөндө өзүнчө сурамдар түзүңүз.
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ден башталат, ошондуктан эски колдонмо сессия мисалын кабыл алардан мурун көз карандылыгын текшерүүсү керек.
Эсеп маалыматтары аутентификацияланган прокси үчүн кошумча талап болуп саналат. Ийгиликтүү маршрут тандоо эсепти бербейт, ал эми прокси чакырыгын алуу анын портуна туташа албагандыктан айырмаланат.