ຕັ້ງຄ່າ 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 ແບບຈຳກັດ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ