Konfiguroni proxy-n e përcjelljes në OkHttp, më pas jepni të njëjtin klient 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();

Ky fragment ndërton shtresën e transportit dhe instancën Retrofit. Përpara build shtoni në këtë ndërtues fabrikat e konvertuesve dhe të përshtatësve të thirrjeve që kërkon aplikacioni, më pas krijoni ndërfaqen e shërbimit nga kjo instancë.

Mbajeni baseUrl të drejtuar nga shërbimi real i API-së. Nëse vendosni atje URL-në e proxy-t, ndryshoni destinacionin HTTP; kjo nuk konfiguron negociimin me proxy-n. URL-ja bazë ruan gjithashtu kërkesën e Retrofit për prerje të fundit. Një test i lejuar mbi një API publike pa autentikim proxy mund të marrë një adresë HTTP nga lista e proxy-ve HTTP për objektin Proxy të veçantë.

Një proxy eksplicit OkHttp ka përparësi mbi ProxySelector-in e tij. Përdoreni kur klienti duhet të ketë një ndërmjetës fiks. Aplikacionet që kanë nevojë për rrugëtim të varur nga destinacioni duhet ta projektojnë atë politikë përmes përzgjedhësit të mbështetur.

Nëse ndërfaqja e shërbimit është krijuar tashmë nga një instancë tjetër Retrofit, ndërtimi i kësaj instance të re nuk i zhvendos kërkesat e ndërfaqes së vjetër. Mbajini klientin e konfiguruar, instancën Retrofit dhe objektin e shërbimit në të njëjtën rrugë ndërtimi.

Për një proxy me autentikim, OkHttp ekspozon proxyAuthenticator veçmas nga vërtetuesi i destinacionit. Konfiguroni atë në ndërtuesin OkHttp kur nevojitet, më pas kaloni klientin e përfunduar në Retrofit. Për një proxy me autentikim Basic, përdorni trajtim të kufizuar të ripërpjekjeve të proxyAuthenticator.

Artikuj të ngjashëm