Конфигуришите прокси за прослеђивање на 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-а.

Повезани чланци