Apache HttpAsyncClient 5: IOReactorConfig bilan SOCKS sozlamalari
Klassik mijozning socket konfiguratsiyasini qo‘llash o‘rniga HttpAsyncClient 5 boshlanishidan avval reactor ichida proksi manzilini belgilang.
import java.net.InetSocketAddress;
import org.apache.hc.core5.reactor.IOReactorConfig;
import org.apache.hc.client5.http.impl.async.HttpAsyncClients;
var reactor = IOReactorConfig.custom()
.setSocksProxyAddress(new InetSocketAddress("proxy.example", 1080))
.build();
var client = HttpAsyncClients.custom()
.setIOReactorConfig(reactor)
.build();
client.start();Ko‘zlangan asinxron so‘rovlarni shu mijoz orqali yuborib, ularning haqiqiy manzil URI-larini saqlang. Mijozni ish davomida ochiq saqlang, keyin yoping. Ommaviy manzillarga ruxsat etilgan so‘rovlar uchun SOCKS proksilar ro‘yxati host va port variantlarini beradi; reactor qo‘llaydigan SOCKS versiyasini tanlang.
Bu asinxron socket yo‘lini reactor boshqaradi. HTTP HttpHost proksi yo‘nalishi yoki klassik ulanish menejerining SocketConfig sozlamasi boshqa interfeysdir.
Qo‘llab-quvvatlanadigan SOCKS foydalanuvchi nomi/parol autentifikatsiyasi uchun reactor builder ichida setSocksProxyUsername va setSocksProxyPassword parametrlarini ham belgilang. So‘rovlar ishlayotganda umumiy sozlamalarni o‘zgartirish o‘rniga konfiguratsiyani start dan avval tugating.