Nínú ètò Apache HttpClient 4, ibi-àfojúsùn HTTPS kò túmọ̀ sí pé gbogbo ìsopọ̀ bẹ̀rẹ̀ pẹ̀lú TLS. A máa ń dé ọ̀dọ̀ aṣojú HTTP tí ó wọ́pọ̀ nípasẹ̀ ìsopọ̀ tí a kò fi ààtò ṣe, lẹ́yìn náà CONNECT ṣí ojú-ọ̀nà tí TLS sì di ìpele sí ibi-àfojúsùn.

Tí olùdarí ìsopọ̀ àkànṣe bá forúkọ https nìkan, ìfo nínú aṣojú àkọ́kọ́ lè já lulẹ̀ pẹ̀lú UnsupportedSchemeException: http protocol is not supported.

Fún API 4.5, fi iṣẹ́ méjèèjì kún nígbà tí a bá ń kọ́ olùdarí yẹn:

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 ni SSLConnectionSocketFactory tí ó wà tẹ́lẹ̀ fún ètò náà, pẹ̀lú ìwádìí ìgbẹ́kẹ̀lé àti orúkọ agbàlejò tí a wéwèé. Àwọn irú tí a fi hàn jẹ́ ti àwọn àkópọ̀ org.apache.http ti Apache 4. Ẹ̀ka yìí gbà pé Java lè dámọ̀ irú àwọn oníyípadà àdúgbò; kóòdù Java àtijọ́ lè lo irú tí ó yé.

So olùdarí tí a tún ṣe mọ́ ẹrù ìsopọ̀ tí a ń lò ní ti gidi fún ìbéèrè náà. Fún ìbéèrè HTTPS ti gbogbo ènìyàn tí a gbà láàyè láìsí ìjẹ́rìí aṣojú, àkọsílẹ̀ HTTP kan láti àkójọ aṣojú HTTP lè kún àdírẹ́sì aṣojú HttpHost. Ṣíṣe ìṣètò builder mìíràn kò ní mú ẹrù ìsopọ̀ tí a ti kọ́ yẹ̀ lórí.

Tún ṣàyẹ̀wò ẹ̀tọ́ builder: HttpClientBuilder ṣàkọsílẹ̀ pé olùdarí ìsopọ̀ tí a fún ní kedere lè borí àwọn ìwọlé ìṣètò SSL ọ̀tọ̀ọ̀tọ̀ rẹ̀. Fi àwọn iṣẹ́ tí a nílò sínú àkọsílẹ̀ olùdarí dípò kí o gbà pé ìpè setSSLContext tí ó tẹ̀lé yóò rọ́pò inú rẹ̀.

Ìwádìí yìí kan àkọsílẹ̀ àwòrán-ìlànà àdúgbò. Ìpèníjà ìjẹ́rìí aṣojú tàbí ibi-àfojúsùn tí a kọ̀ jẹ́ àbájáde tí ó tẹ̀lé, tí ó yàtọ̀. Pa àkọsílẹ̀ iṣẹ́ méjèèjì mọ́ bí o ṣe ń ṣèwádìí àwọn ìdáhùn yẹn.

Àwọn àpilẹ̀kọ tó jọra