קאנפיגורירט דעם פֿאָרויס־פּראָקסי אויף OkHttp, דערנאָך גיט דעם זעלבן קליענט צו 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();

דער פֿראַגמענט בויט די טראַנספּאָרט־שיכט און די Retrofit־אינסטאַנץ. פֿאַר build לייגט צו צו דעם בויער די קאָנווערטער־ און רוף־אַדאַפּטער־פֿאַבריקן וואָס די אַפּליקאַציע דאַרפֿט, און שאַפֿט דערנאָך דעם סערוויס־אינטערפֿייס פֿון דער אינסטאַנץ.

האַלט baseUrl געריכט צו דער עמעטער API־סערוויס. אויב איר שטעלט דאָרט דעם פּראָקסי־URL, ענדערט איר דעם HTTP־ציל; דאָס קאנפיגורירט נישט די פּראָקסי־פאַרהאַנדלונג. דער באזיס־URL האַלט אויך די Retrofit־פֿאָדערונג פֿון אַ שלוס־שיפֿערל. אַ דערלויבטער פּובליק־API־פּרובירן אָן פּראָקסי־אויטענטיפֿיקאַציע קען נעמען אַן HTTP־אַדרעס פֿון דער ליסטע פֿון HTTP־פּראָקסיס פֿאַר דעם באַזונדערן Proxy־אָביעקט.

אַן עקספּליציטער OkHttp־פּראָקסי האָט פּריאָריטעט איבער זײַן ProxySelector. ניצט דאָס ווען דער קליענט דאַרף האָבן אַ פֿעסטן פֿארמיטלער. אַפּליקאַציעס וואָס דאַרפֿן ציל־אָפּהענגיקע רוטינג זאָלן די פּאָליטיק ענדער דיזײַנען דורך דעם געשטיצטן סעלעקטאָר.

אויב דער סערוויס־אינטערפֿייס איז שוין געשאַפֿן פֿון אַן אַנדער Retrofit־אינסטאַנץ, פֿאַררוקט דאָס בויען פֿון דער נײַער אינסטאַנץ נישט די פֿאָדערונגען פֿון דעם אַלטן אינטערפֿייס. האַלט דעם קאנפיגורירטן קליענט, די Retrofit־אינסטאַנץ און דאָס סערוויס־אָביעקט אויף דעם זעלבן בויען־וועג.

פֿאַר אַ פּראָקסי מיט אויטענטיפֿיקאַציע שטעלט OkHttp צו דעם proxyAuthenticator באַזונדער פֿון זײַן ציל־אויטענטיפֿיקאַטאָר. קאנפיגורירט אים אויף דעם OkHttp־בויער ווען נייטיק, און גיט דערנאָך דעם פֿאַרטיקן קליענט צו Retrofit. פֿאַר אַ פּראָקסי מיט Basic־אויטענטיפֿיקאַציע ניצט באַגרענעצטע באַהאַנדלונג פֿון proxyAuthenticator־פּרובירן.

פֿאַרבונדענע אַרטיקלען