Bir sayfayı jsoup ile HTTP proxy üzerinden getirme
jsoup’un istek düzeyindeki HTTP proxy API’sini kullanın ve birden çok çalışan oturum ayarlarını paylaştığında ayrı istekler oluşturun.
jsoup sayfayı bir HTTP proxy üzerinden getirebilir ve yanıtı aynı çağrıda ayrıştırabilir:
Document page = Jsoup.connect("https://www.example.com/")
.proxy("proxy.example", 8080)
.get();
Ana bilgisayar adı ve tam sayı port, proxy’yi tanımlar. İzin verilen genel sayfa istekleri için hizmetinizden veya HTTP proxy listesinden bir HTTP uç noktası seçin. connect çağrısına verilen URL istediğiniz sayfa olarak kalır. Yalnızca bu yolu eklemek için HTML’i ayrı bir URLConnection ile bir dizeye indirmeniz gerekmez.
proxy(String, int) o istek için bir HTTP proxy seçer. 1080 gibi bir port numarası protokolünü SOCKS’e çevirmez; proxy uç noktası yapılandırılan türü konuşmalıdır. jsoup ayrıca java.net.Proxy kabul eden bir aşırı yükleme sunar, ancak belirli bir yolun desteği yine de kullanılan HTTP uygulamasına bağlıdır.
Her çalışana kendi isteğini verin
İstek düzeyindeki bir seçenek, her indirme çevresinde JVM sistem özelliklerini değiştirmekten daha kolay paralel çalışma sağlar. Değiştirilebilir isteği her çalışan için ayrı tutun. Modern jsoup, yeni bir istek oluştururken oturumun ayarlarını ve çerez deposunu paylaşabilir:
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();
Yukarıdaki çağrılar açıklık için sırayla çalışır. İş eşzamanlı dağıtılıyorsa, proxy’yi çalışan tek bir Connection üzerinde değiştirmek yerine istekleri bağımsız olarak oluşturun. Paylaşılan oturum çerezleri de paylaşır; tarama kimliklerinin ayrı kalması gerektiğinde farklı oturumlar kullanın.
Bu arayüzler jsoup 1.21.2 sürümünde bulunur. Argümansız newRequest() arayüzü 1.14.1 sürümünden gelir, bu nedenle daha eski bir uygulama oturum örneğini benimsemeden önce bağımlılığını denetlemelidir.
Kimlik bilgileri, kimliği doğrulanmış bir proxy için ek bir gereksinimdir. Başarılı bir yol seçimi hesap sağlamaz ve proxy meydan okuması almak, onun portuna bağlanamamaktan farklıdır.