HttpClient 4 Proxy-Fehler: den http-Protokoll gëtt net ënnerstëtzt
Behalt déi einfach HTTP-Fabrik an enger eegener Apache HttpClient 4-Registry, wann en HTTPS-Wee fir d'éischt en HTTP-Proxy erreecht.
An enger Apache HttpClient 4-Applikatioun heescht en HTTPS-Zil net, datt all Verbindung mat TLS ufänkt. En normale HTTP-Proxy gëtt iwwer eng onverschlësselte Verbindung erreecht, ier CONNECT den Tunnel opmécht an TLS a Richtung Zil geschichteg gëtt.
Wann en eegene Verbindungsmanager nëmmen https registréiert, kann den éischte Proxy-Sprong mat UnsupportedSchemeException: http protocol is not supported feelen.
Fir d'4.5-API musse béid Fabriken agebaut ginn, wann dee Manager opgebaut gëtt:
var registry = RegistryBuilder.<ConnectionSocketFactory>create()
.register("http", PlainConnectionSocketFactory.getSocketFactory())
.register("https", tlsFactory)
.build();
var manager = new PoolingHttpClientConnectionManager(registry);
var client = HttpClients.custom()
.setConnectionManager(manager)
.setProxy(new HttpHost("proxy.example.net", 8080, "http"))
.build();
tlsFactory ass déi existent SSLConnectionSocketFactory vun der Applikatioun, mat hirer virgesinnener Vertrauens- an Hostnummpréifung. Déi gewisen Typpe gehéieren zu den org.apache.http-Päck vun Apache 4. De Fragment setzt d'Java-Inferenz vu lokale Variabeltypen viraus; méi ale Java-Quellcode kann explizit Typpe benotzen.
Verbann de korrigéierte Manager mat deem Client, dee fir d'Ufro tatsächlech benotzt gëtt. Fir eng erlaabt ëffentlech HTTPS-Ufro ouni Proxy-Authentifikatioun kann en HTTP-Antrag aus der HTTP-Proxy-Lëscht d'Proxy-Adress vum HttpHost fëllen. En anere Builder konfiguréieren aktualiséiert keen already gebaute Client.
Iwwerpréif och d'Eegemëtt vum Builder: HttpClientBuilder dokumentéiert, datt en explizit geliwwerte Verbindungsmanager seng separat SSL-Konfiguratiounsinngäng iwwerstëmme kann. Setz déi néideg Fabriken an d'Registry vum Manager, amplaz unzehuelen, datt e spéidere setSSLContext-Aufruff seng Bannelen ersetzt.
Dës Diagnos betrëfft déi lokal Schema-Registry. Eng Proxy-Authentifikatiounsufuerderung oder en ofgeleent Zil ass en spéideren, aneren Resultat. Behale béid Fabrikregistréierungen, während Dir déi Äntwerten ënnersicht.