Proxygodkendelse i Apache HttpClient 5 Fluent med Executor
Kobl en Fluent Request viaProxy-rute med legitimationsoplysninger på dens Apache HttpClient 5 Executor.
I Apache HttpClient 5's Fluent API kan Request vælge en proxy, mens Executor leverer dens konto. Udfør anmodningen gennem dette legitimerede objekt:
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 kommer fra org.apache.hc.core5.http. Kontoens variabler kommer fra applikationens konfiguration.
De to anvendelser af proxy beskriver med vilje samme vært og port. viaProxy vælger ruten, mens auth registrerer legitimationsoplysninger for den mellemmand i Executor. Hvis det endelige resultat fortsat er 407, sammenlign den valgte rute med legitimationsomfanget.
At kalde en separat Requests bekvemme execute-metode ville bruge en anden udførelsesvej. Hold den legitimerede Executor knyttet til operationen som i eksemplet, så klienten, der modtager udfordringen, har den konfigurerede konto.
Eksemplet bruger 5.x char-array-adgangskodegrænsefladen. Ældre HttpClient 4 Fluent-uddrag bruger andre pakker og metodesignaturer. Når anmodningen er færdig, forbruger returnContent svarlegemet og frigiver forbindelsen til genbrug.