OkHttpClient ئارقىلىق Retrofit ۋاكالەتچىسىنى سەپلەش
سەپلەنگەن OkHttpClient نى Retrofit كە بېرىڭ، API نىڭ ئاساسىي URL ھەدف مۇلازىمەتكە قاراپ تۇرسۇن.
OkHttp دا يۆتكەش ۋاكالەتچىسىنى سەپلەڭ، ئاندىن شۇ خېرىدارنى Retrofit كە بېرىڭ:
import java.net.InetSocketAddress;
import java.net.Proxy;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
Proxy proxy = new Proxy(
Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
OkHttpClient http = new OkHttpClient.Builder()
.proxy(proxy)
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.example/")
.client(http)
.build();
بۇ بۆلەك توشۇش قەۋىتى ۋە Retrofit ئەمەلىيىتىنى قۇرىدۇ. build ئالدىدا ئەپكە كېرەكلىك ئايلاندۇرغۇچ ۋە چاقىرىق ماسلاشتۇرغۇچ زاۋۇتلىرىنى بۇ قۇرغۇچىغا قوشۇڭ، ئاندىن بۇ ئەمەلىيەتتىن مۇلازىمەت كۆرۈنمە يۈزىنى قۇرۇڭ.
baseUrl نى ھەقىقىي API مۇلازىمىتىگە قارىتىپ تۇرۇڭ. ئەگەر ئۇ يەرگە ۋاكالەتچى URL نى قويسىڭىز، HTTP ھەدفى ئۆزگىرىدۇ؛ بۇ ۋاكالەتچى سۆھبىتىنى سەپلىمەيدۇ. ئاساسىي URL يەنە Retrofit نىڭ ئاخىرقى قىيپاش سىزىق تەلىپىنى ساقلايدۇ. ۋاكالەتچى دەلىللەشسىز رۇخسەت قىلىنغان ئاممىۋى API سىنىقى ئايرىم Proxy ئوبيېكتى ئۈچۈن HTTP ۋاكالەتچى تىزىملىكىدىن HTTP ئادرېس ئالالايدۇ.
OkHttp نىڭ ئوچۇق ۋاكالەتچىسى ئۆزىنىڭ ProxySelector دىن ئۈستۈن. خېرىدارنىڭ مۇقىم ۋاسىتىچى بولۇشى كېرەك بولغاندا بۇنى ئىشلىتىڭ. ھەدفكە باغلىق يول باشلاش كېرەك بولغان ئەپلەر بۇ سىياسەتنى قوللايدىغان تاللىغۇچ ئارقىلىق لايىھىلىشى كېرەك.
ئەگەر مۇلازىمەت كۆرۈنمە يۈزى ئاللىبۇرۇن باشقا Retrofit ئەمەلىيىتىدىن قۇرۇلغان بولسا، بۇ يېڭى ئەمەلىيەتنى قۇرۇش كونا كۆرۈنمە يۈزنىڭ تەلەپلىرىنى يۆتكىمەيدۇ. تەڭشەلگەن خېرىدارنى، Retrofit ئەمەلىيىتىنى ۋە مۇلازىمەت ئوبيېكتىنى ئوخشاش قۇرۇش يولىدا ساقلاڭ.
دەلىللەشلىك ۋاكالەتچى ئۈچۈن OkHttp proxyAuthenticator نى ھەدف دەلىللىگۈچىدىن ئايرىم تەمىنلەيدۇ. زۆرۈر بولغاندا ئۇنى OkHttp قۇرغۇچىسىدا سەپلەڭ، ئاندىن تاماملانغان خېرىدارنى Retrofit كە بېرىڭ. Basic دەلىللەشلىك ۋاكالەتچى ئۈچۈن چەكلەنگەن proxyAuthenticator قايتا سىناش بىر تەرەپ قىلىش نى ئىشلىتىڭ.