HttpClient 4-proxyflater: http-protokol wurdt net stipe
Hâld de gewoane HTTP-fabryk yn in eigen Apache HttpClient 4-register as in HTTPS-rûte earst ferbynt mei in HTTP-proxy.
Yn in Apache HttpClient 4-applikaasje betsjut in HTTPS-bestimming net dat elke ferbining mei TLS begjint. In gewoane HTTP-proxy wurdt berikt oer in ûnfersifere ferbining foardat CONNECT de tunnel iepenet en TLS nei de bestimming ta lage wurdt.
As in oanpaste ferbiningsbehearder allinnich https registrearret, kin de earste proxysprong mislearje mei UnsupportedSchemeException: http protocol is not supported.
Foar de 4.5-API moatte beide fabriken meidwaan by it bouwen fan dy behearder:
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 is de besteande SSLConnectionSocketFactory fan de applikaasje, mei de bedoelde fertrouwens- en hostnamnekontrôle. De toande typen hearre by de org.apache.http-pakketten fan Apache 4. It fragmint ferûnderstelt Java's lokale fariabele-type-ôflieding; âldere Java-koade kin eksplisite typen brûke.
Koppel de korrizjearre behearder oan de klient dy't echt foar it fersyk brûkt wurdt. Foar in tastien iepenbier HTTPS-fersyk sûnder proxy-autentikaasje kin in HTTP-ynskriuwing út de HTTP-proxylist it proxy-adres fan HttpHost foltôgje. In oare builder konfigurearje fernijt in al boud klient net.
Undersykje ek it eigendom fan de builder: HttpClientBuilder dokumintearret dat in eksplisyt levere ferbiningsbehearder syn aparte SSL-konfiguraasje-ynfier oerskriuwe kin. Set de nedige fabriken yn it register fan de behearder ynstee fan te tinken dat in letter setSSLContext-oprop syn ynterieur ferfangt.
Dizze diagnoaze giet oer it lokale skemaregister. In proxy-autentikaasje-útdaging of in wegere bestimming is in letter, oar resultaat. Behâld beide fabrykregistraasjes wylst jo dy antwurden ûndersykje.