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.

Tengdir greinar