Weka mipaka ya vitambulisho vya proksi vya RestTemplate kwa HttpClient 5
Weka mipaka ya vitambulisho vya Apache HttpClient 5 kwa mwenyeji na bandari ya proksi kabla ya kuwasilisha usafirishaji kwa RestTemplate ya Spring 6.
Kuingia kwenye proksi ni mali ya mtoa vitambulisho vya usafirishaji. Kwa Spring 6 na Apache HttpClient 5, weka mipaka ya akaunti hiyo kwa mpatanishi:
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);Programu hutoa thamani za proxyUser na proxyPassword na inamiliki mzunguko wa maisha wa mteja wa HTTP. Tumia tena rest kwa mzigo wa kazi badala ya kujenga kiolezo kingine chaguo-msingi kwenye mahali pa kupiga simu.
AuthScope huweka mipaka ya mahali vitambulisho hivi vinatumika. Mfano hutoa vitambulisho vya kawaida vya jina la mtumiaji/neno la siri; jina BasicCredentialsProvider halilazimishi kila changamoto kutumia mpango wa HTTP Basic.
Kwa lengo la HTTPS, usafirishaji unaweza kujibu changamoto ya proksi wakati wa CONNECT, kabla ombi la HTTP lililosimbwa la programu halijakuwepo. Kikwazo cha jumla cha lengo kinachoongeza Proxy-Authorization hakilingani na mazungumzo hayo.
Sanidi akaunti yoyote ya lengo kwa tofauti. Ikiwa proksi bado inakataa ombi, hifadhi mpango wa uthibitishaji unaotangazwa na mwenyeji na bandari halisi. Vitambulisho vilivyowekwa mipaka kwa kiishio kingine havitapatana kwa sababu tu neno la siri ni sahihi.