ເປັນຫຍັງ Java ຈຶ່ງເລືອກ SOCKS proxy ສຳລັບຄຳຮ້ອງ HTTP ຂອງທ່ານ
ກວດເບິ່ງຜົນຂອງ ProxySelector ແລະ ການຕັ້ງຄ່າ JVM ທີ່ໃຊ້ງານກ່ອນນຳໃຊ້ວິທີແກ້ໄຂ proxy ແບບ Windows ເກົ່າ.
ຄຳຮ້ອງ 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 ທັງໝົດຢ່າງບໍ່ຈຳແນກອາດເຮັດໃຫ້ການເຊື່ອມຕໍ່ທີ່ຄວນໃຊ້ໜຶ່ງອັນເສຍຫາຍ. ແກ້ໄຂກົດທີ່ບໍ່ຖືກຕ້ອງດ້ວຍຂອບເຂດນ້ອຍທີ່ສຸດທີ່ທ່ານສາມາດລະບຸໄດ້.