Proxy-autentisering i Apache HttpClient 5 Fluent med Executor
Koble viaProxy-ruten til en Fluent Request med legitimasjonen på Apache HttpClient 5 Executor.
I Fluent API-en til Apache HttpClient 5 kan Request velge en proxy mens Executor leverer kontoen. Utfør forespørselen gjennom det legitimasjonsbelagte objektet:
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 og Request kommer fra org.apache.hc.client5.http.fluent; HttpHost fra org.apache.hc.core5.http. Kontovariablene kommer fra applikasjonens konfigurasjon.
De to brukene av proxy beskriver med vilje samme vert og port. viaProxy velger ruten, mens auth registrerer legitimasjonen for den mellommannen hos Executor. Hvis sluttresultatet fortsatt er 407, sammenlign den valgte ruten med legitimasjonens omfang.
Å kalle den praktiske execute-metoden til en separat Request ville bruke en annen utførelsesvei. Hold den legitimasjonsbelagte Executoren knyttet til operasjonen, som i eksempelet, slik at klienten som mottar utfordringen har den konfigurerte kontoen.
Eksempelet bruker 5.x char-array-passordgrensesnittet. Eldre HttpClient 4 Fluent-utdrag bruker andre pakker og metodesignaturer. Når forespørselen er ferdig, forbruker returnContent svarentiteten og frigjør tilkoblingen for gjenbruk.