Proxy-autentisering i Apache HttpClient 5 Fluent med Executor
Koble en Fluent Requests viaProxy-rute til legitimasjonen på dens Apache HttpClient 5 Executor.
I Apache HttpClient 5s Fluent API 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 legitimasjonsomfanget.
Å kalle en egen Requests praktiske execute-metode 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.