Apache HttpClient 5.5-də bağlantı menecerində SOCKS parametrləri
Hovuzun socket siyasətini HTTP proxy marşrutu və ya fərdi socket fabriki əvəzinə SocketConfig ilə konfiqurasiya edin.
Apache HttpClient 5.5 bağlantı menecerinin socket parametrlərində SOCKS konfiqurasiya yolu təqdim edir. Onun saxlanılan nümunəsi setSocksProxyAddress istifadə edir:
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 fraqment HttpClient 5-in org.apache.hc paketlərindən və HttpCore-un SocketConfig-undan istifadə edir. Bu klientlə edilən sorğular yuxarıda konfiqurasiya edilmiş hovuzdan istifadə edir. Tətbiqin sahiblik əhatəsi bitdikdə klienti bağlayın.
Faktiki veb-sayt URL-ni həmişə olduğu kimi sorğuya qoyun. Proxy autentifikasiyası olmayan icazəli ictimai sayt sorğuları üçün SOCKS proxy siyahısı namizəd ünvanlar təqdim edir; faktiki iş mühitinin dəstəklədiyi SOCKS versiyasını seçin. SOCKS ünvanı ona çatmaq üçün istifadə olunan nəqli konfiqurasiya edir; bu, HttpHost kimi verilən HTTP irəli-proxy marşrutu deyil.
Bunlar bu menecer üçün standart socket parametrləridir. Hər marşrut üzrə SocketConfig həlledicisindən istifadə edən tətbiq istənilən SOCKS parametrini bunun əvəzinə həmin siyasət vasitəsilə tətbiq etməlidir. Nümunə bağlantı menecerinin normal təyinat DNS siyasətini saxlayır; uzaq ad həlli ayrıca təsdiqlənmiş konfiqurasiya tələb edir.