Sanidi proksi ya Retrofit kupitia OkHttpClient
Peleka OkHttpClient iliyosanidiwa kwa Retrofit huku URL msingi wa API ukielekea huduma lengwa.
Sanidi proksi ya usambazaji kwenye OkHttp, kisha peleka mteja huyo huyo kwa 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();
Kipande hiki huunda tabaka la usafirishaji na kielekezi cha Retrofit. Kabla ya build ongeza kwenye kijengezi hiki viwanda vya vibadilishaji na adapta za simu vinavyohitajika na programu, kisha unda kiolesura cha huduma kutoka kwenye kielekezi hiki.
Weka baseUrl ukielekea huduma halisi ya API. Ukiweka URL ya proksi hapo, unabadilisha lengo la HTTP; hiyo haisanidi mazungumzo ya proksi. URL msingi pia huhifadhi sharti la Retrofit la mkwaju wa mwisho. Jaribio la API ya umma linaloruhusiwa bila uthibitishaji wa proksi linaweza kuchukua anwani ya HTTP kutoka orodha ya proksi za HTTP kwa kitu cha Proxy tofauti.
Proksi dhahiri ya OkHttp ina kipaumbele juu ya ProxySelector yake. Tumia hii wakati mteja anapaswa kuwa na mpatanishi wa kudumu. Programu zinazohitaji uelekezaji unaotegemea lengo zinafaa kubuni sera hiyo kupitia kichaguzi kinachotumika.
Ikiwa kiolesura cha huduma tayari kimeundwa kutoka kielekezi kingine cha Retrofit, kujenga kielekezi hiki kipya hakuhamishi maombi ya kiolesura cha zamani. Weka mteja uliosanidiwa, kielekezi cha Retrofit na kitu cha huduma kwenye njia moja ya ujenzi.
Kwa proksi yenye uthibitishaji, OkHttp huonyesha proxyAuthenticator kando na kithibitishaji cha lengo. Sanidi kwenye kijengezi cha OkHttp inapohitajika, kisha peleka mteja aliyekamilika kwa Retrofit. Kwa proksi inayotumia uthibitishaji wa Basic, tumia ushughulikiaji mdogo wa majaribio upya ya proxyAuthenticator.