Apache HttpAsyncClient 5: הגדרות SOCKS עם IOReactorConfig
הגדירו את כתובת הפרוקסי ב־reactor לפני הפעלת HttpAsyncClient 5, במקום להחיל את הגדרות הסוקט של הלקוח הקלאסי.
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, במקום לשנות הגדרות משותפות בזמן שהבקשות פועלות.