Във Fluent API на Apache HttpClient 5 обектът 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 консумира тялото на отговора и освобождава връзката за повторно използване.

Подобни статии