Apache HttpClient 5.5'te bağlantı yöneticisinde SOCKS ayarları
Havuzun soket ilkesini HTTP proxy rotası veya özel soket fabrikası yerine SocketConfig ile yapılandırın.
Apache HttpClient 5.5, bağlantı yöneticisinin soket ayarlarında bir SOCKS yapılandırma yolu içerir. Bakımı yapılan örneği setSocksProxyAddress kullanır:
InetSocketAddress socks =
new InetSocketAddress("proxy.example.net", 1080);
PoolingHttpClientConnectionManager manager =
PoolingHttpClientConnectionManagerBuilder.create()
.setDefaultSocketConfig(
SocketConfig.custom()
.setSocksProxyAddress(socks)
.build()
)
.build();
CloseableHttpClient client = HttpClients.custom()
.setConnectionManager(manager)
.build();
Bu parça HttpClient 5'in org.apache.hc paketlerini ve HttpCore'un SocketConfig sınıfını kullanır. Bu istemciyle yapılan istekler yukarıda yapılandırılan havuzu kullanır. Uygulamanın sahiplik kapsamı bittiğinde istemciyi kapatın.
Web sitesinin gerçek URL'sini her zamanki gibi isteğe koyun. Proxy kimlik doğrulaması olmadan izin verilen genel site istekleri için SOCKS proxy listesi aday adresler sunar; gerçek çalışma ortamının desteklediği SOCKS sürümünü seçin. SOCKS adresi, ona ulaşmak için kullanılan taşımayı yapılandırır; HttpHost olarak verilen bir HTTP yönlendirme proxy rotası değildir.
Bunlar bu yönetici için varsayılan soket ayarlarıdır. Rota başına SocketConfig çözümleyicisi kullanan bir uygulama, istenen SOCKS ayarını bunun yerine o ilke üzerinden uygulamalıdır. Örnek, bağlantı yöneticisinin normal hedef DNS ilkesini korur; uzak ad çözümlemesi ayrıca doğrulanmış bir yapılandırma gerektirir.