Uwierzytelnianie proxy w Apache HttpClient 5 Fluent z Executorem
Połącz trasę viaProxy Fluent Request z poświadczeniami na Apache HttpClient 5 Executor.
W Fluent API Apache HttpClient 5 obiekt Request może wybrać proxy, a Executor dostarcza jego konto. Wykonaj żądanie przez ten obiekt z poświadczeniami:
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 i Request pochodzą z org.apache.hc.client5.http.fluent; HttpHost z org.apache.hc.core5.http. Zmienne konta pochodzą z konfiguracji aplikacji.
Oba użycia proxy celowo opisują ten sam host i port. viaProxy wybiera trasę, a auth rejestruje poświadczenia tego pośrednika w Executorze. Jeśli wynik końcowy nadal wynosi 407, porównaj wybraną trasę z zakresem poświadczeń.
Wywołanie wygodnej metody execute osobnego Request użyłoby innej ścieżki wykonania. Utrzymuj Executor z poświadczeniami powiązany z operacją, jak w przykładzie, aby klient otrzymujący wyzwanie miał skonfigurowane konto.
Przykład używa interfejsu hasła char-array z 5.x. Starsze fragmenty HttpClient 4 Fluent używają innych pakietów i sygnatur metod. Po zakończeniu żądania returnContent zużywa treść odpowiedzi i zwalnia połączenie do ponownego użycia.