RestTemplate ۋاكالەتچى ئۇچۇرىنى HttpClient 5 بىلەن چەكلەش
Apache HttpClient 5 ھېسابات ئۇچۇرىنى Spring 6 RestTemplate غا يەتكۈزۈشتىن بۇرۇن ۋاكالەتچى ئاساسى ۋە ئېغىزى بىلەن چەكلىڭ.
ۋاكالەتچىگە كىرىش توشۇش قاتناشقۇچىسىنىڭ ھېسابات ئۇچۇر تەمىنلىگۈچىسىگە تەۋە. Spring 6 بىلەن Apache HttpClient 5 ئۈچۈن بۇ ھېساباتنى ئوتتۇراچى بىلەن چەكلىڭ:
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);ئەپلىكەيشەن proxyUser ۋە proxyPassword قىممىتىنى تەمىنلەيدۇ ۋە HTTP خېرىدارىنىڭ ھايات دەۋرىگە ئىگە. چاقىرىش ئورنىدا يەنە بىر سۈكۈتتىكى قېلىپ قۇرۇش ئورنىغا ئىش يۈكى ئۈچۈن rest نى قايتا ئىشلىتىڭ.
AuthScope بۇ ھېسابات ئۇچۇرىنىڭ قەيەردە ئىناۋەتلىك ئىكەنلىكىنى چەكلەيدۇ. مىسال ئادەتتىكى ئىشلەتكۈچى ئىسمى/پارول ھېسابات ئۇچۇرىنى تەمىنلەيدۇ؛ BasicCredentialsProvider دېگەن ئىسىم ھەر بىر خىرىسنى HTTP Basic لايىھىسىنى ئىشلىتىشكە مەجبۇرلىمايدۇ.
HTTPS مەنزىلى بىلەن توشۇش CONNECT جەريانىدا ۋاكالەتچى خىرىسىغا جاۋاب بېرەلەيدۇ، ئەپلىكەيشەننىڭ شىفىرلانغان HTTP تەلەپى مەۋجۇت بولۇشتىن بۇرۇن. Proxy-Authorization قوشىدىغان ئومۇمىي مەنزىل ئارىلىق تۇتقۇچى بۇ سۆھبەت بىلەن باراۋەر ئەمەس.
ھەر قانداق مەنزىل ھېساباتىنى ئايرىم تەڭشەڭ. ئەگەر ۋاكالەتچى تەلەپنى يەنىلا رەت قىلسا، ئۇنىڭ ئېلان قىلغان دەلىللەش لايىھىسىنى ۋە ھەقىقىي ئاساس ۋە ئېغىزنى ساقلاڭ. باشقا ئاخىرلاش نۇقتىسى ئۈچۈن چەكلەنگەن ھېسابات ئۇچۇرى پەقەت پارول توغرا بولغانلىقى ئۈچۈن ماس كەلمەيدۇ.