Få Apache HttpClient 5 til å lese JVM-proxyinnstillinger
Slå på systemegenskaper i en Apache HttpClient 5-klient og undersøk eksplisitte overstyringer fra ruteplanleggeren.
For det klassiske Apache HttpClient 5-API-et slår du på systemegenskaper når du bygger klienten:
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClients;
try (CloseableHttpClient client = HttpClients.custom()
.useSystemProperties()
.build()) {
// Execute the application's HTTP work with this client.
}Oppgi de tiltenkte oppstartsargumentene, for eksempel -Dhttp.proxyHost=203.0.113.10 -Dhttp.proxyPort=8080, med ditt virkelige endepunkt. HTTP-proxylisten gir offentlige kandidater når den ruten er tillatt. Ta med HTTPS- og omgåelsesegenskaper for de aktuelle destinasjonene. Å sette en JVM-egenskap alene kan ikke bevise at denne klienten bruker den.
Builder-referansen angir egenskapene som standardkomponentene tar hensyn til. Eksplisitte ruteplanleggere eller andre leverte komponenter kan endre denne oppførselen.
Utfør forespørsler gjennom denne konfigurerte instansen. En avhengighet som bygger en annen klient, trenger sin egen støttede fabrikk eller proxyinndata; en ubrukt klient ved siden av endrer ingenting.
Identifiser biblioteket og importene i den mislykkede operasjonen. Commons HttpClient 3, Apache HttpClient 4, HttpClient 5 og Java sin java.net.http.HttpClient har ulike konfigurasjonsgrensesnitt. En gammel klasseoppskrift kan ikke forklare en klient som aldri bruker den generasjonen.