Proxy-autentisering i Apache HttpClient 5 Fluent med Executor
Koppla en Fluent Requests viaProxy-rutt till inloggningsuppgifterna på dess Apache HttpClient 5 Executor.
I Apache HttpClient 5:s Fluent API kan Request välja en proxy medan Executor tillhandahåller dess konto. Utför begäran genom det objektet med inloggningsuppgifter:
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 och Request kommer från org.apache.hc.client5.http.fluent; HttpHost från org.apache.hc.core5.http. Kontovariablerna kommer från applikationens konfiguration.
De två användningarna av proxy beskriver avsiktligt samma värd och port. viaProxy väljer rutten, medan auth registrerar inloggningsuppgifterna för den mellanhanden hos Executor. Om slutresultatet fortfarande är 407, jämför den valda rutten med inloggningsuppgifternas omfång.
Att anropa en separat Requests bekväma execute-metod skulle använda en annan exekveringsväg. Håll den autentiserade Executor kopplad till operationen, som i exemplet, så att klienten som tar emot utmaningen har det konfigurerade kontot.
Exemplet använder 5.x char-array-lösenordsgränssnittet. Äldre HttpClient 4 Fluent-utdrag använder andra paket och metodsignaturer. När begäran är klar förbrukar returnContent svarsentiteten och frigör anslutningen för återanvändning.