កំណត់រចនាសម្ព័ន្ធ proxy បញ្ជូនបន្តនៅលើ OkHttp បន្ទាប់មកផ្តល់ client ដូចគ្នាទៅ 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 សូមបន្ថែមរោងចក្រ converter និង call adapter ដែលកម្មវិធីត្រូវការទៅ builder នេះ បន្ទាប់មកបង្កើត service interface ពីវត្ថុនេះ។

រក្សា baseUrl ឱ្យចង្អុលទៅសេវា API ពិតប្រាកដ។ ប្រសិនបើអ្នកដាក់ URL proxy នៅទីនោះ អ្នកនឹងផ្លាស់ប្តូរគោលដៅ HTTP; វាមិនកំណត់ការចរចា proxy ទេ។ URL មូលដ្ឋានក៏រក្សាតម្រូវការ slash ចុងក្រោយរបស់ Retrofit។ ការសាកល្បង API សាធារណៈដែលបានអនុញ្ញាតដោយគ្មានការផ្ទៀងផ្ទាត់ proxy អាចយកអាសយដ្ឋាន HTTP ពី បញ្ជីប្រូកស៊ី HTTP សម្រាប់វត្ថុ Proxy ដាច់ដោយឡែក។

proxy OkHttp ច្បាស់លាស់មានអាទិភាពលើ ProxySelector របស់វា។ ប្រើវានៅពេល client គួរមានអ្នកកណ្តាលថេរ។ កម្មវិធីដែលត្រូវការការបញ្ជូនអាស្រ័យលើគោលដៅគួររចនាគោលការណ៍នោះតាមរយៈ selector ដែលគាំទ្រ។

ប្រសិនបើ service interface ត្រូវបានបង្កើតពីវត្ថុ Retrofit ផ្សេងរួចហើយ ការបង្កើតវត្ថុថ្មីនេះមិនផ្លាស់ទីសំណើរបស់ interface ចាស់ទេ។ រក្សា client ដែលបានកំណត់ វត្ថុ Retrofit និងវត្ថុសេវានៅលើផ្លូវសាងសង់តែមួយ។

សម្រាប់ proxy ដែលមានការផ្ទៀងផ្ទាត់ OkHttp បង្ហាញ proxyAuthenticator ដោយឡែកពីអ្នកផ្ទៀងផ្ទាត់គោលដៅ។ កំណត់វានៅលើ builder OkHttp នៅពេលចាំបាច់ បន្ទាប់មកផ្តល់ client ដែលបានបញ្ចប់ទៅ Retrofit។ សម្រាប់ proxy ដែលប្រើការផ្ទៀងផ្ទាត់ Basic សូមប្រើ ការគ្រប់គ្រងការព្យាយាមឡើងវិញរបស់ proxyAuthenticator បែបមានកំណត់។

អត្ថបទពាក់ព័ន្ធ