Автентифікація проксі в Apache HttpClient 5 Fluent з Executor
Пов'яжіть маршрут viaProxy Fluent Request з обліковими даними на Apache HttpClient 5 Executor.
У 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 споживає тіло відповіді та звільняє з'єднання для повторного використання.