Dí ààlà ìwé-ẹ̀rí proxy RestTemplate pẹ̀lú HttpClient 5
Dí ààlà ìwé-ẹ̀rí Apache HttpClient 5 mọ́ host àti port proxy kí o tó fi gbígbé náà fún Spring 6 RestTemplate.
Ìwọlé proxy jẹ́ ti olùpèsè ìwé-ẹ̀rí gbígbé náà. Pẹ̀lú Spring 6 àti Apache HttpClient 5, dí ààlà àkọsílẹ̀ yẹn mọ́ alárinà:
var proxy = new org.apache.hc.core5.http.HttpHost(
"http", "proxy.example", 8080);
var credentials = new org.apache.hc.client5.http.impl.auth
.BasicCredentialsProvider();
credentials.setCredentials(
new org.apache.hc.client5.http.auth.AuthScope(proxy),
new org.apache.hc.client5.http.auth.UsernamePasswordCredentials(
proxyUser, proxyPassword.toCharArray()));
var http = org.apache.hc.client5.http.impl.classic.HttpClients.custom()
.setProxy(proxy)
.setDefaultCredentialsProvider(credentials)
.build();
var factory = new org.springframework.http.client
.HttpComponentsClientHttpRequestFactory(http);
var rest = new org.springframework.web.client.RestTemplate(factory);Ohun-èlò náà pèsè àwọn iye proxyUser àti proxyPassword ó sì ni ìṣàkóso ìgbésí ayé HTTP client. Tún rest lò fún iṣẹ́ náà dípò kíkọ́ àpẹrẹ àìlópin mìíràn ní ibi ìpè.
AuthScope dí ààlà ibi tí àwọn ìwé-ẹ̀rí wọ̀nyí wúlò. Àpẹrẹ náà pèsè ìwé-ẹ̀rí orúkọ olùlò/ọ̀rọ̀ ìkọ̀kọ̀ lasan; orúkọ BasicCredentialsProvider kò fipá mú gbogbo ìpèníjà láti lo ètò HTTP Basic.
Pẹ̀lú ibi-ìlọ HTTPS, gbígbé náà lè dáhùn ìpèníjà proxy nígbà CONNECT, kí ó tó di pé ìbéèrè HTTP tí a fi àmì pamọ́ ti ohun-èlò náà wà. Alátẹnumọ́ ibi-ìlọ gbogbogbò tí ó ń fi Proxy-Authorization kún kì í ṣe dọ́gba pẹ̀lú ìdúnàádúrà yẹn.
Ṣètò àkọsílẹ̀ ibi-ìlọ èyíkéyìí lọ́tọ̀. Bí proxy bá ṣì kọ ìbéèrè náà, pa ètò ìjẹ́rìí tí ó kéde mọ́ pẹ̀lú host àti port gidi. Ìwé-ẹ̀rí tí a dí ààlà mọ́ ibi-ìparí mìíràn kò ní bára mu kìkì nítorí pé ọ̀rọ̀ ìkọ̀kọ̀ náà tọ́.