In Retrofit-proxy konfigurearje fia OkHttpClient
Jou Retrofit in konfigurearre OkHttpClient, wylst de basis-URL fan de API nei de bestimmingstsjinst wiist.
Konfigurearje de trochstjoerproxy op OkHttp en jou dan deselde klant oan 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();
It fragmint bout de ferfierslaach en de Retrofit-eksimplaar. Foegje foar build de konvertor- en opropadapterfabriken ta dy't de applikaasje nedich hat oan dizze bouwer, en meitsje dan de tsjinstynterface út dizze eksimplaar.
Hâld baseUrl nei de echte API-tsjinst wiisd. Setst dy dêr de proxy-URL, dan feroarje jo it HTTP-doel; dat konfigurearret gjin proxy-ûnderhanneling. De basis-URL behâldt ek Retrofit syn eask fan in efterste skechstreep. In tastiene test fan in iepenbiere API sûnder proxy-autentikaasje kin in HTTP-adres út de list mei HTTP-proxy’s nimme foar it aparte Proxy-objekt.
In eksplisite OkHttp-proxy hat foarrang boppe syn ProxySelector. Brûk dat as de klant in fêste tuskenpersoan hawwe moat. Applikaasjes dy't routing nedich hawwe dy't fan de bestimming ôfhinget, kinne dat belied better ûntwerpe fia de stipe selektor.
As de tsjinstynterface al út in oare Retrofit-eksimplaar makke is, ferpleatst it bouwen fan dizze nije eksimplaar de oanfragen fan de âlde ynterface net. Hâld de konfigurearre klant, de Retrofit-eksimplaar en it tsjinstobjekt op itselde boupaad.
Foar in proxy mei autentikaasje biedt OkHttp de proxyAuthenticator apart fan syn bestimmingsautentikator oan. Konfigurearje dy op de OkHttp-bouwer as dat nedich is, en jou dan de foltôge klant oan Retrofit. Brûk foar in proxy mei Basic-autentikaasje beheind behear fan proxyAuthenticator-opnijbesykjen.