Konfigurasikan proksi penghantaran pada OkHttp, kemudian berikan klien yang sama kepada 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();

Coretan ini membina lapisan pengangkutan dan instans Retrofit. Sebelum build, tambahkan kilang penukar dan penyesuai panggilan yang diperlukan aplikasi pada pembina ini, kemudian cipta antara muka perkhidmatannya daripada instans ini.

Kekalkan baseUrl menuju ke perkhidmatan API sebenar. Jika URL proksi diletakkan di situ, destinasi HTTP berubah; itu tidak mengkonfigurasi rundingan proksi. URL asas juga mengekalkan keperluan Retrofit akan garis miring di hujung. Ujian API awam yang dibenarkan tanpa pengesahan proksi boleh mengambil alamat HTTP daripada senarai proksi HTTP untuk objek Proxy yang berasingan.

Proksi OkHttp yang eksplisit mengatasi ProxySelector-nya. Gunakan ini apabila klien perlu mempunyai perantara tetap. Aplikasi yang memerlukan penghalaan bergantung destinasi patut mereka bentuk dasar itu melalui pemilih yang disokong.

Jika antara muka perkhidmatan sudah dicipta daripada instans Retrofit lain, membina instans baharu ini tidak memindahkan permintaan antara muka lama. Kekalkan klien yang dikonfigurasikan, instans Retrofit dan objek perkhidmatan pada laluan pembinaan yang sama.

Untuk proksi dengan pengesahan, OkHttp mendedahkan proxyAuthenticator secara berasingan daripada pengesah destinasinya. Konfigurasikannya pada pembina OkHttp apabila perlu, kemudian berikan klien yang lengkap kepada Retrofit. Untuk proksi dengan pengesahan Basic, gunakan pengendalian cubaan semula proxyAuthenticator yang terhad.

Artikel berkaitan