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 нь шинэ хүсэлт үүсгэхдээ сессийн тохиргоо, күүкийн агуулахыг хуваалцаж чадна:

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 дээр проксиг өөрчлөхийн оронд хүсэлтүүдийг бие даан үүсгээрэй. Хуваалцсан сесс күүкийг ч хуваалцдаг; хайлтын таних тэмдгүүд тусдаа байх ёстой үед өөр сесс ашиглаарай.

Эдгээр интерфейс jsoup 1.21.2-д байна. Аргументгүй newRequest() интерфейс 1.14.1-ээс эхтэй тул хуучин програмыг сессийн жишээг авахаас өмнө хамаарлаа шалгах хэрэгтэй.

Итгэмжлэл нь баталгаажсан проксид тавигдах нэмэлт шаардлага юм. Амжилттай зам сонголт нь бүртгэл өгөхгүй бөгөөд проксигийн сорилт хүлээн авах нь түүний порт руу холбогдож чадаагүйгээс ялгаатай.

Холбоотой нийтлэлүүд