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 පරීක්ෂණයකට වෙනම Proxy වස්තුව සඳහා HTTP ප්‍රොක්සි ලැයිස්තුවෙන් HTTP ලිපිනයක් ගත හැක.

OkHttp හි පැහැදිලි ප්‍රොක්සියක් එහි ProxySelector ට වඩා ප්‍රමුඛතාව ලබයි. සේවාදායකයට ස්ථිර මැදිහත්කරුවෙකු තිබිය යුතු විට මෙය භාවිත කරන්න. ගමනාන්තය අනුව මාර්ගකරණය අවශ්‍ය යෙදුම් එම ප්‍රතිපත්තිය සහාය දක්වන තේරීම්කරු හරහා නිර්මාණය කළ යුතුය.

සේවා අතුරුමුහුණත දැනටමත් වෙනත් Retrofit අවස්ථාවකින් සාදා ඇත්නම්, මෙම නව අවස්ථාව ගොඩනැගීම පැරණි අතුරුමුහුණතේ ඉල්ලීම් ගෙන යන්නේ නැත. වින්‍යාස කළ සේවාදායකය, Retrofit අවස්ථාව සහ සේවා වස්තුව එකම ගොඩනැගීම් මාර්ගයේ තබන්න.

සත්‍යාපනය සහිත ප්‍රොක්සියක් සඳහා OkHttp proxyAuthenticator එහි ගමනාන්ත සත්‍යාපකයෙන් වෙන් වෙන්ව ලබා දෙයි. අවශ්‍ය විට OkHttp ගොඩනඟන්නා මත එය වින්‍යාස කරන්න, පසුව සම්පූර්ණ සේවාදායකය Retrofit වෙත ලබා දෙන්න. Basic සත්‍යාපනය සහිත ප්‍රොක්සියක් සඳහා සීමිත proxyAuthenticator නැවත උත්සාහ හැසිරවීම භාවිත කරන්න.

අදාළ ලිපි