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.

Powiązane artykuły