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, במקום לשנות הגדרות משותפות בזמן שהבקשות פועלות.

מאמרים קשורים