Lungiselela i-proxy edlulisayo ku-OkHttp, bese unikeza i-Retrofit lelo klayenti lifanayo:

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

Lesi siqephu sakha isendlalelo sokuthutha kanye ne-Retrofit instance. Ngaphambi kwe-build, engeza kulesi sakhi izimboni zokuguqula kanye nezingxenye zokushintsha izingcingo ezidingwa uhlelo, bese wakha i-interface yesevisi kule instance.

Gcina i-baseUrl ibhekisa kusevisi ye-API yangempela. Uma ufaka i-URL ye-proxy lapho, ushintsha indawo ye-HTTP; lokho akulungiseleli ukuxoxisana nge-proxy. I-base URL iphinda igcine isidingo se-Retrofit sika-slash wokugcina. Ukuhlola i-API yomphakathi okuvunyelwe ngaphandle kokuqinisekiswa kwe-proxy kungathatha ikheli le-HTTP ku-ohlu lwama-proxy e-HTTP lwento ye-Proxy ehlukile.

I-proxy ecacile ye-OkHttp iba phambili kune-ProxySelector yayo. Sebenzisa lokhu lapho iklayenti kufanele libe nomxhumanisi oqinile. Izinhlelo ezidinga umzila oncike endaweni kufanele ziklame leyo nqubomgomo ngesikhethi esisekelwayo.

Uma i-interface yesevisi isivele yakhiwe kusuka kwenye i-Retrofit instance, ukwakha le instance entsha akuzihambisi izicelo ze-interface endala. Gcina iklayenti elilungiselelwe, i-Retrofit instance kanye nento yesevisi endleleni eyodwa yokwakha.

Kuma-proxy anokuqinisekisa, i-OkHttp iveza i-proxyAuthenticator ngokwehlukile kusuka ku-authenticator wendawo. Yilungiselele ku-builder we-OkHttp uma kudingeka, bese udlulisa iklayenti eliqediwe ku-Retrofit. Kuma-proxy asebenzisa ukuqinisekisa kwe-Basic, sebenzisa ukuphathwa okulinganiselwe kokuphinda kwe-proxyAuthenticator.

Izihloko ezihlobene