Apache HttpAsyncClient 5: IOReactorConfig ဖြင့် SOCKS proxy သတ်မှတ်ခြင်း
ကလပ်စစ် client ၏ socket သတ်မှတ်ချက်ကို သုံးမည့်အစား HttpAsyncClient 5 မစမီ reactor တွင် proxy လိပ်စာကို သတ်မှတ်ပါ။
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();ဤ client မှ ရည်ရွယ်ထားသော asynchronous တောင်းဆိုမှုများ ပို့ပြီး ၎င်းတို့၏ တကယ့်ပန်းတိုင် URI များကို ထိန်းထားပါ။ အလုပ်လုပ်နေချိန်တွင် client ကို ဖွင့်ထားပြီး ပြီးမှ ပိတ်ပါ။ အများသုံးပန်းတိုင်များသို့ ခွင့်ပြုထားသော တောင်းဆိုမှုများအတွက် SOCKS proxy စာရင်း က host နှင့် port ရွေးချယ်စရာများ ပေးသည်။ reactor ပံ့ပိုးသော SOCKS ဗားရှင်းနှင့် ကိုက်ညီစေပါ။
ဤ asynchronous socket လမ်းကြောင်းကို reactor က ထိန်းချုပ်သည်။ HTTP HttpHost proxy လမ်းကြောင်း သို့မဟုတ် ကလပ်စစ် connection manager ၏ SocketConfig သည် အခြား interface ဖြစ်သည်။
ပံ့ပိုးထားသော SOCKS အသုံးပြုသူအမည်/စကားဝှက် အထောက်အထားစစ်ဆေးမှုအတွက် reactor builder တွင် setSocksProxyUsername နှင့် setSocksProxyPassword ကိုလည်း သတ်မှတ်ပါ။ တောင်းဆိုမှုများ လုပ်ဆောင်နေချိန်တွင် မျှဝေထားသော သတ်မှတ်ချက်များ ပြောင်းမည့်အစား start မတိုင်မီ ပြင်ဆင်မှုကို အပြီးသတ်ပါ။