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 مضيفين ومنافذ مرشحة؛ طابق إصدار SOCKS الذي يدعمه reactor.

يتحكم reactor في مسار المقابس غير المتزامن هذا. مسار بروكسي HTTP عبر HttpHost أو SocketConfig لمدير الاتصالات التقليدي واجهة أخرى.

لمصادقة SOCKS باسم المستخدم وكلمة المرور عندما تكون مدعومة، عيّن أيضًا setSocksProxyUsername وsetSocksProxyPassword في builder الخاص بالـreactor. أكمل الإعداد قبل start، بدل تغيير إعدادات مشتركة أثناء تنفيذ الطلبات.

مقالات ذات صلة