Stilla Retrofit-milliþjón gegnum OkHttpClient
Gefðu Retrofit stilltan OkHttpClient en hafðu grunn-URL API-sins áfram að vísa á áfangastaðarþjónustuna.
Stilltu framsendingarmilliþjóninn í OkHttp og gefðu síðan sama biðlara til 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();
Brotinn byggir flutningslagið og Retrofit-tilvikið. Fyrir build skaltu bæta við þennan byggjanda verksmiðjum umbreytara og kallsaðlaga sem forritið þarf, og búa síðan til þjónustuviðmótið út frá þessu tilviki.
Haltu baseUrl að vísa á raunverulegu API-þjónustuna. Ef þú setur slóð milliþjónsins þar breytir þú HTTP-áfangastaðnum; það stillir ekki samningaviðræður við milliþjón. Grunnslóðin heldur einnig kröfu Retrofit um skástrik í lokin. Leyfð prófun á opinberu API án auðkenningar milliþjóns getur tekið HTTP-slóð úr listanum yfir HTTP-milliþjóna fyrir sérstakt Proxy-hlut.
Skýr OkHttp-milliþjónn hefur forgang fram yfir ProxySelector hans. Notaðu þetta þegar biðlarinn á að hafa fastan millilið. Forrit sem þurfa leiðsögn sem fer eftir áfangastað ættu frekar að hanna þá stefnu í gegnum studda valið.
Ef þjónustuviðmótið var þegar búið til út frá öðru Retrofit-tilviki færir bygging þessa nýja tilviks ekki beiðnir gamla viðmótsins. Haltu stillta biðlaranum, Retrofit-tilvikinu og þjónustuhlutnum á sama byggingarleið.
Fyrir milliþjón með auðkenningu birtir OkHttp proxyAuthenticator aðskilið frá áfangastaðarauðkenningunni. Stilltu hann á OkHttp-byggjandanum þegar þarf og gefðu síðan fullbúinn biðlarann til Retrofit. Fyrir milliþjón með Basic-auðkenningu skaltu nota takmarkaða meðferð endurtekninga proxyAuthenticator.