Earráid seachfhreastalaí HttpClient 4: ní thacaítear leis an bprótacal http
Coinnigh an ghnáth-mhonarcha HTTP i gclár Apache HttpClient 4 saincheaptha nuair a nascann bealach HTTPS le seachfhreastalaí HTTP ar dtús.
I bhfeidhmchlár Apache HttpClient 4, ní chiallaíonn ceann scríbe HTTPS go dtosaíonn gach nasc le TLS. Sroichtear gnáthsheachfhreastalaí HTTP trí nasc gan chriptiú sula n-osclaíonn CONNECT an tollán agus sula gcuirtear TLS ina shraitheanna i dtreo an chinn scríbe.
Má chláraíonn bainisteoir naisc saincheaptha https amháin, féadfaidh an chéad léim seachfhreastalaí teip le UnsupportedSchemeException: http protocol is not supported.
Don API 4.5, cuir an dá mhonarcha san áireamh agus an bainisteoir sin á thógáil:
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();
Is é tlsFactory an SSLConnectionSocketFactory atá ag an bhfeidhmchlár cheana, lena sheiceáil iontaoibhe agus óstainmne beartaithe. Baineann na cineálacha a thaispeántar le pacáistí org.apache.http Apache 4. Glactar sa sliocht le tátal cineáil athróg logánta Java; is féidir le cód Java níos sine cineálacha follasacha a úsáid.
Ceangail an bainisteoir ceartaithe leis an gcliaint a úsáidtear i ndáiríre don iarratas. Le haghaidh iarratais HTTPS phoiblí cheadaithe gan fhíordheimhniú seachfhreastalaí, is féidir le hiontráil HTTP ón liosta seachfhreastalaí HTTP seoladh seachfhreastalaí HttpHost a líonadh. Ní nuashonraíonn cumrú builder eile cliaint atá tógtha cheana.
Scrúdaigh úinéireacht an bhuilder freisin: deir HttpClientBuilder gur féidir le bainisteoir naisc a sholáthraítear go sainráite a ionchuir chumraíochta SSL ar leith a shárú. Cuir na monarchana riachtanacha i gclár an bhainisteora in ionad glacadh leis go n-athróidh glao setSSLContext níos déanaí a inmheánach.
Baineann an diagnóis seo leis an gclár scéime logánta. Is toradh níos déanaí agus difriúil é dúshlán fíordheimhnithe seachfhreastalaí nó ceann scríbe diúltaithe. Coinnigh an dá chlárú monarchan agus tú ag fiosrú na bhfreagraí sin.