Żball tal-proxy f'HttpClient 4: il-protokoll http mhux appoġġat
Żomm il-fabbrika HTTP sempliċi f'reġistru Apache HttpClient 4 personalizzat meta rotta HTTPS l-ewwel tikkonnettja ma' proxy HTTP.
F'applikazzjoni Apache HttpClient 4, destinazzjoni HTTPS ma tfissirx li kull konnessjoni tibda b'TLS. Proxy HTTP ordinarju jintlaħaq permezz ta' konnessjoni bla kriptaġġ qabel ma CONNECT jiftaħ il-mina u TLS jiġi sovrappost lejn id-destinazzjoni.
Jekk manager tal-konnessjonijiet personalizzat jirreġistra biss https, l-ewwel qabża mill-proxy tista' tfalli b'UnsupportedSchemeException: http protocol is not supported.
Għall-API 4.5, inkludi ż-żewġ fabbriki meta tibni dak il-manager:
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 hija l-SSLConnectionSocketFactory eżistenti tal-applikazzjoni, bil-verifika tal-fiduċja u l-isem tal-host maħsuba. It-tipi murija jappartjenu lill-pakketti org.apache.http ta' Apache 4. Dan is-silta jassumi l-inferenza tat-tip tal-varjabbli lokali ta' Java; kodiċi Java eqdem jista' juża tipi espliċiti.
Waħħal il-manager ikkoreġut mal-klijent li fir-realtà jintuża għat-talba. Għal talba HTTPS pubblika permessa mingħajr awtentikazzjoni tal-proxy, entrata HTTP mil-lista tal-proxies HTTP tista' timla l-indirizz tal-proxy ta' HttpHost. Li tikkonfigura builder ieħor ma jaġġornax klijent diġà mibni.
Iċċekkja wkoll is-sjieda tal-builder: HttpClientBuilder jiddokumenta li manager tal-konnessjonijiet ipprovdut b'mod espliċitu jista' jegħleb l-inputs separati tiegħu tal-konfigurazzjoni SSL. Poġġi l-fabbriki meħtieġa fir-reġistru tal-manager minflok ma tassumi li sejħa setSSLContext aktar tard se tissostitwixxi l-intern tiegħu.
Dan id-dijanjosi jikkonċerna r-reġistru lokali tal-iskemi. Sfida ta' awtentikazzjoni tal-proxy jew destinazzjoni miċħuda hija riżultat aktar tard u differenti. Żomm iż-żewġ reġistrazzjonijiet tal-fabbriki waqt li tinvestiga dawk ir-risposti.