Apache HttpAsyncClient 5: IOReactorConfig से SOCKS सेटिंग
क्लासिक क्लाइंट का सॉकेट कॉन्फ़िगरेशन लगाने के बजाय HttpAsyncClient 5 शुरू करने से पहले reactor में प्रॉक्सी पता सेट करें।
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();इसी क्लाइंट से तय असिंक्रोनस अनुरोध भेजें और उनके वास्तविक गंतव्य URI बनाए रखें। काम चलने तक क्लाइंट को सक्रिय रखें और बाद में बंद करें। अनुमत सार्वजनिक गंतव्यों के अनुरोधों के लिए SOCKS प्रॉक्सी सूची होस्ट और पोर्ट के विकल्प देती है; reactor द्वारा समर्थित SOCKS संस्करण से मिलान करें।
इस असिंक्रोनस सॉकेट रास्ते को reactor नियंत्रित करता है। HTTP HttpHost प्रॉक्सी रूट या क्लासिक कनेक्शन मैनेजर का SocketConfig अलग इंटरफ़ेस है।
समर्थित SOCKS उपयोगकर्ता नाम/पासवर्ड प्रमाणीकरण के लिए reactor builder पर setSocksProxyUsername और setSocksProxyPassword भी सेट करें। अनुरोध चलने के दौरान साझा सेटिंग बदलने के बजाय start से पहले कॉन्फ़िगरेशन पूरा करें।