Seadista OkHttpis edastav puhverserver ja anna seejärel sama klient Retrofitile:

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

See lõik ehitab transpordikihi ja Retrofiti eksemplari. Enne build-kutset lisa sellesse ehitajasse rakenduse nõutud konverterite ja kõneadapterite tehaste ning seejärel loo selle eksemplari põhjal teenuse liides.

Hoia baseUrl osutamas tegelikule API-teenusele. Kui paned sinna puhverserveri URLi, muudad HTTP-sihtkoha; see ei seadista puhverserveriga läbirääkimist. Baas-URL säilitab ka Retrofiti nõude lõppeda kaldkriipsuga. Lubatud avaliku API test ilma puhverserveri autentimiseta võib eraldi Proxy-objekti jaoks võtta HTTP-aadressi HTTP-puhverserverite loendist.

Otsene OkHttp puhverserver on prioriteetsem kui selle ProxySelector. Kasuta seda, kui kliendil peab olema püsiv vahendaja. Rakendused, mis vajavad sihtkohast sõltuvat marsruutimist, peaksid selle poliitika pigem kavandama toetatud selektori kaudu.

Kui teenuse liides on juba loodud mõnest teisest Retrofit eksemplarist, ei liiguta selle uue eksemplari ehitamine vana liidese päringuid. Hoia seadistatud klient, Retrofit eksemplar ja teenuse objekt samal ehitustee.

Autenditud puhverserveri jaoks pakub OkHttp proxyAuthenticatorit sihtkoha autentijast eraldi. Seadista see vajadusel OkHttp ehitajas ja anna seejärel valmis klient Retrofitile. Basic-autentimisega puhverserveri jaoks kasuta piiratud proxyAuthenticator uuestiproovimise käsitlust.

Seotud artiklid