ຄຳຮ້ອງ Java ສາມາດພົບກັບອິນພຸດ proxy ຫຼາຍຢ່າງ: ການຕັ້ງຄ່າ client ຢ່າງຊັດເຈນ, ຕົວເລືອກເລີ່ມຕົ້ນ, ຄຸນສົມບັດເຄືອຂ່າຍ JVM ແລະ ການຕັ້ງຄ່າລະບົບປະຕິບັດການທີ່ຮອງຮັບ. ເມື່ອ log ກ່າວເຖິງ SOCKS ຢ່າງບໍ່ຄາດຄິດ, ຈົ່ງລະບຸວ່າອິນພຸດໃດໄດ້ເລືອກມັນ.

ສຳລັບໂຄ້ດທີ່ໃຊ້ຕົວເລືອກເລີ່ມຕົ້ນ, ກວດເບິ່ງການຕັດສິນໃຈສຳລັບປາຍທາງທີ່ແນ່ນອນ:

URI target = URI.create("https://example.com/");
ProxySelector selector = ProxySelector.getDefault();
if (selector != null) {
    System.out.println(selector.select(target));
}

ສິ່ງນີ້ລາຍງານຜູ້ສະໝັກຂອງຕົວເລືອກ. ມັນບໍ່ໄດ້ພິສູດວ່າການເຊື່ອມຕໍ່ໃດສຳເລັດໃນທີ່ສຸດ, ແລະ client ທີ່ມີເສັ້ນທາງຊັດເຈນຂອງຕົນເອງອາດເລືອກຕ່າງອອກໄປ.

ກວດເບິ່ງການຕັ້ງຄ່າທີ່ໃຊ້ງານຕົວຈິງ

ກວດເບິ່ງ http.proxyHost, https.proxyHost, socksProxyHost, ພອດຂອງພວກມັນ ແລະ java.net.useSystemProxies. ເອກະສານຄຸນສົມບັດເຄືອຂ່າຍ JDK ອະທິບາຍຂອບເຂດ ແລະ ລຳດັບຄວາມສຳຄັນຂອງພວກມັນ. ການຄົ້ນພົບ proxy ຂອງລະບົບຖືກກວດຕອນເລີ່ມຕົ້ນ; ຕັ້ງຄ່າມັນຢ່າງຕັ້ງໃຈເມື່ອເລີ່ມ JVM.

ຄຳຕອບໃນອະດີດອະທິບາຍການປະສົມສະເພາະຂອງໜ້າຕ່າງ Windows ເກົ່າ ແລະ JDK ເກົ່າ. ລາຍງານເຫຼົ່ານັ້ນສາມາດອະທິບາຍຕົ້ນກຳເນີດຂອງວິທີແກ້ໄຂໄດ້, ແຕ່ພວກມັນບໍ່ໄດ້ຢືນຢັນວ່າ runtime ປັດຈຸບັນມີຂໍ້ຜິດດຽວກັນ. ບັນທຶກເວີຊັນ runtime ແລະ ຜົນຂອງຕົວເລືອກ ກ່ອນປ່ຽນການຕັ້ງຄ່າລະບົບປະຕິບັດການສຳລັບທຸກແອັບ.

ຖ້າແອັບຕ້ອງການ HTTP proxy ສຳລັບ client ໜຶ່ງ, ການຕັ້ງຄ່າ proxy ຢ່າງຊັດເຈນ ສາມາດເຮັດໃຫ້ຄວາມຕ້ອງການນັ້ນຊັດເຈນຂຶ້ນ. ຖ້າມັນຕ້ອງການການກຳນົດເສັ້ນທາງອັດຕະໂນມັດສູນກາງ, ຈົ່ງສືບສວນວ່າເປັນຫຍັງຕົວເລືອກຈຶ່ງໄດ້ຮັບ ຫຼື ສົ່ງຄືນລາຍການ SOCKS ທີ່ບໍ່ຄາດຄິດ.

ຕົວເລືອກແບບກຳນົດເອງຄວນຮັກສາການຂ້າມທີ່ຕັ້ງໃຈ ແລະ ການຈັດການຄວາມຜິດພາດ. ການກັ່ນຕອງຜູ້ສະໝັກ SOCKS ທັງໝົດຢ່າງບໍ່ຈຳແນກອາດເຮັດໃຫ້ການເຊື່ອມຕໍ່ທີ່ຄວນໃຊ້ໜຶ່ງອັນເສຍຫາຍ. ແກ້ໄຂກົດທີ່ບໍ່ຖືກຕ້ອງດ້ວຍຂອບເຂດນ້ອຍທີ່ສຸດທີ່ທ່ານສາມາດລະບຸໄດ້.

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