Iphutha le-proxy ku-HttpClient 4: i-http protocol ayisekelwe
Gcina ifektri ye-HTTP ejwayelekile kurejista ye-Apache HttpClient 4 eyenziwe ngokwezifiso lapho umzila we-HTTPS uqala ukuxhumana ne-proxy ye-HTTP.
Ku-uhlelo lwe-Apache HttpClient 4, indawo ye-HTTPS ayisho ukuthi zonke izixhumanisi ziqala nge-TLS. I-proxy ye-HTTP ejwayelekile ifinyelelwa ngoxhumano olungabhalwanga, bese kuthi i-CONNECT ivule umhubhe bese i-TLS ibekwa phezu kwendawo.
Uma umphathi wezixhumanisi ozenzileyo ubhalisa i-https kuphela, ukugxuma kokuqala kwe-proxy kungase kuhluleke nge-UnsupportedSchemeException: http protocol is not supported.
Ku-API 4.5, faka zombili izimboni lapho wakha lowo mphathi:
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();
I-tlsFactory iyi-SSLConnectionSocketFactory ekhona yohlelo, nokuhlolwa kokuthembeka nokwegama lomsingathi okuhlosiwe. Izinhlobo ezikhonjisiwe zingezamaphakethe e-org.apache.http e-Apache 4. Lesi siqephu sicabanga ukuthi i-Java inganquma izinhlobo zeziguquli zasendaweni; ikhodi endala ye-Java ingasebenzisa izinhlobo ezicacile.
Xhuma umphathi olungisiwe kuklayenti esetshenziswa ngempela esicelweni. Esicelweni se-HTTPS somphakathi esivunyelwe ngaphandle kokuqinisekiswa kwe-proxy, okufakiwe kwe-HTTP okuvela kuhlu lwe-proxy ye-HTTP kungagcwalisa ikheli le-proxy le-HttpHost. Ukuhlela enye i-builder akukubuyekezi iklayenti eselakhiwe.
Hlola futhi ubunikazi be-builder: i-HttpClientBuilder ibhala ukuthi umphathi wezixhumanisi onikezwe ngokusobala angadlula okokufaka kwakhe kokuhlela kwe-SSL okuhlukile. Faka izimboni ezidingekayo kurejista yomphathi esikhundleni sokucabanga ukuthi ucingo lwe-setSSLContext kamuva luzoshintsha ingaphakathi layo.
Lokhu kuxilonga kuphathelene nerejista yezikimu zasendaweni. Inselele yokuqinisekiswa kwe-proxy noma indawo enqatshiwe iwumphumela wakamuva, ohlukile. Gcina zombili izinhloliso zezimboni ngenkathi uphenya lezo zimpendulo.