در Fluent API نسخه 5 Apache HttpClient، شیء Request می‌تواند پروکسی انتخاب کند و Executor حساب آن را تأمین می‌کند. درخواست را از طریق همان شیء دارای اعتبارنامه اجرا کنید:

HttpHost proxy = new HttpHost("http", "proxy.example", 8080);
Executor executor = Executor.newInstance()
    .auth(proxy, proxyUser, proxyPassword.toCharArray());

String body = executor.execute(
        Request.get("https://www.example.com/").viaProxy(proxy))
    .returnContent()
    .asString();

Executor و Request از org.apache.hc.client5.http.fluent هستند؛ HttpHost از org.apache.hc.core5.http است. متغیرهای حساب از پیکربندی برنامه می‌آیند.

دو کاربرد پروکسی عمداً همان میزبان و پورت را توصیف می‌کنند. viaProxy مسیر را انتخاب می‌کند، در حالی که auth اعتبارنامه‌های آن واسطه را در Executor ثبت می‌کند. اگر نتیجه نهایی همچنان 407 بود، مسیر انتخاب‌شده را با دامنه اعتبارنامه مقایسه کنید.

فراخوانی متد execute راحت یک Request جداگانه مسیر اجرای دیگری را به کار می‌برد. Executor دارای اعتبارنامه را مانند نمونه به عملیات متصل نگه دارید تا کلاینتی که چالش را دریافت می‌کند حساب پیکربندی‌شده را داشته باشد.

نمونه از رابط رمز عبور char-array نسخه 5.x استفاده می‌کند. قطعه‌های قدیمی‌تر HttpClient 4 Fluent از بسته‌ها و امضای متدهای متفاوت استفاده می‌کنند. پس از پایان درخواست، returnContent بدنه پاسخ را مصرف و اتصال آن را برای استفاده مجدد آزاد می‌کند.

مقالات مرتبط