Ku habee proxy Retrofit iyada oo loo marayo OkHttpClient
U gudbi Retrofit OkHttpClient habaysan, iyada oo URL-da aasaasiga ah ee API-da ay sii waddo u jeeddo adeega loo socdo.
Ku habee proxy-ga gudbinta OkHttp, ka dibna u gudbi isla macmiilkaas 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();
Qaybtan waxay dhistaa lakabka gaadiidka iyo instance-ka Retrofit. Ka hor build ku dar builder-kan warshadaha beddelka iyo adapter-ka wicitaanka ee app-ku u baahan yahay, ka dibna ka abuur interface-ka adeegga instance-kan.
Hayso baseUrl oo u jeedda adeega API-da dhabta ah. Haddii aad halkaas dhigto URL-ka proxy-ga, waxaad beddelaysaa goobta HTTP; taasi ma habayso wada-hadalka proxy-ga. URL-da aasaasiga ah waxa uu sidoo kale ilaaliyaa shuruudda Retrofit ee slash-ka ugu dambeeya. Tijaabo API dadweyne oo la ogolaaday oo aan lahayn aqoonsiga proxy-ga waxay ka qaadan kartaa cinwaan HTTP liiska proxy-yada HTTP shayga Proxy ee gaar ah.
Proxy cad oo OkHttp ah ayaa ka sarreeya ProxySelector-kiisa. Isticmaal tan marka macmiilku tahay inuu yeesho dhexdhexaadiye go'an. Codsiyada u baahan marin ku xiran goobta waa in ay si gaar ah u qorsheeyaan siyaasaddaas iyada oo loo marayo doorashada la taageeray.
Haddii interface-ka adeegga hore loo abuuray instance Retrofit kale, dhisidda instance-kan cusub ma rarto codsiyada interface-kii hore. Hayso macmiilka habaysan, instance-ka Retrofit iyo shayga adeegga isla waddada dhismaha.
Proxy leh aqoonsi, OkHttp waxa ay soo bandhigtaa proxyAuthenticator si gooni ah uga soocda aqoonsiga goobta. Ku habee builder-ka OkHttp marka loo baahdo, ka dibna u gudbi macmiilka dhamaystiran Retrofit. Proxy isticmaala aqoonsiga Basic, isticmaal maaraynta xaddidan ee isku dayga proxyAuthenticator.