Konfiguratu aurreranzko proxy-a OkHttp-en, eta gero eman cliente bera Retrofit-i:

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();

Zati honek garraio-geruza eta Retrofit instantzia eraikitzen ditu. build deitu aurretik, gehitu eraikitzaile honi aplikazioak behar dituen bihurgailu- eta dei-egokitzaile-fabrikak, eta gero sortu zerbitzuaren interfazea instantzia honetatik.

Mantendu baseUrl benetako API zerbitzura seinalatzen. Proxy-ren URLa bertan jartzen baduzu, HTTP helmuga aldatzen duzu; horrek ez du proxy negoziazioa konfiguratzen. Oinarrizko URLak Retrofit-en amaierako barra baldintza ere gordetzen du. Proxy autentifikaziorik gabeko API publikoaren proba baimendu batek HTTP helbide bat har dezake HTTP proxyen zerrendatik Proxy objektu bereiziarentzat.

OkHttp-eko proxy esplizituak lehentasuna du bere ProxySelector-arekiko. Erabili hau bezeroak bitartekari finko bat eduki behar duenean. Helmugaren araberako bideratzea behar duten aplikazioek politika hori onartutako hautatzailearen bidez diseinatu beharko lukete.

Zerbitzuaren interfazea beste Retrofit instantzia batetik sortu bada, instantzia berri hau eraikitzeak ez ditu interfaze zaharreko eskaerak mugitzen. Mantendu konfiguratutako bezeroa, Retrofit instantzia eta zerbitzu objektua eraikuntza-bide berean.

Autentifikazioa duen proxy baterako, OkHttp-ek proxyAuthenticator bere helmuga-autentifikatzailearekitik bereiz erakusten du. Konfiguratu OkHttp eraikitzailean behar denean, eta gero pasatu osatutako bezeroa Retrofit-i. Basic autentifikazioa erabiltzen duen proxy baterako, erabili proxyAuthenticator berriro saiatzeen kudeaketa mugatua.

Erlazionatutako artikuluak