ການປະເມີນ PAC ໃນ Jint: ຕົວຊ່ວຍທີ່ຂາດ ແລະ ຜົນຂອງເສັ້ນທາງ
ການເອີ້ນ FindProxyForURL ເປັນພຽງຂັ້ນຕອນດຽວ: ໂຮສຕ້ອງສະໜອງຕົວຊ່ວຍ PAC, ຈຳກັດການເຮັດວຽກ ແລະ ຕີຄວາມລາຍການເສັ້ນທາງທີ່ສົ່ງຄືນ.
ຖ້າ Jint ລາຍງານວ່າບໍ່ມີ dnsResolve ຫຼື myIpAddress ຂະນະປະເມີນ PAC, ການໂຫຼດ JavaScript ເພີ່ມບໍ່ຈຳເປັນແມ່ນວິທີແກ້. ຕົວຊ່ວຍ PAC ເຫຼົ່ານັ້ນເປັນຂອງສະພາບແວດລ້ອມທີ່ແອັບພລິເຄຊັນໂຮສສະໜອງ.
ກ່ອນເອີ້ນ FindProxyForURL
ເລືອກຊຸດຕົວຊ່ວຍ PAC ທີ່ຮອງຮັບ ແລະ ຕະກຸນທີ່ຢູ່, ແລ້ວຕິດຕັ້ງຕົວຊ່ວຍເຫຼົ່ານັ້ນໃສ່ເອນຈິນ. ຮັກສາສັນຍາຂອງພວກມັນ: dnsResolve ຮັບຊື່ໂຮສ, myIpAddress ບໍ່ຮັບອາກິວເມັນ ແລະ ຕ້ອງການນະໂຍບາຍອິນເຕີເຟສທ້ອງຖິ່ນ, ແລະ shExpMatch ໃຊ້ຮູບແບບແບບເຊລ. ຕົວແທນທີ່ສົ່ງຄ່າສະດວກອາດເລືອກເສັ້ນທາງຜິດໂດຍບໍ່ຮູ້ຕົວ.
ເມື່ອຕັ້ງຄ່າເບື້ອງຕົ້ນແລ້ວ, ການເອີ້ນຫຼັກສາມາດມີຮູບແບບຄືນີ້ໃນ Jint 4.4.0:
var destination = new Uri(destinationUrl);
engine.Execute(pacSource);
var routeList = engine.Invoke(
"FindProxyForURL",
destinationUrl,
destination.IdnHost
).AsString();engine ແມ່ນ Jint.Engine ທີ່ຕັ້ງຄ່າແລ້ວ; pacSource ແມ່ນໂປຣແກຣມ PAC ທີ່ໄດ້ມາ. destination.IdnHost ສະໜອງຊື່ໂຮສໂດຍບໍ່ມີພອດ ຫຼື ເສັ້ນທາງ. ການເອີ້ນນີ້ບໍ່ໄດ້ດຶງ PAC ແລະ ບໍ່ໄດ້ເປີດການເຊື່ອມຕໍ່ພຣັອກຊີ.
ຫຼັງການເອີ້ນ
ຕີຄວາມຜົນເຊັ່ນ PROXY proxy.example:8080; DIRECT ເປັນລາຍການຜູ້ສະໝັກເສັ້ນທາງຕາມລຳດັບ ແລະ ການສຳຮອງ. ການສົ່ງສະຕຣິງທັງໝົດນັ້ນເປັນ URL ພຣັອກຊີເຮັດໃຫ້ຄວາມໝາຍໝົດໄປ. ຮັກສາຄວາມລົ້ມເຫຼວຂອງການປະເມີນໃຫ້ແຍກຈາກຜົນ DIRECT ທີ່ຊັດເຈນ.
ຂະນະທີ່ມັນເຮັດວຽກ
ຕັ້ງຄ່າຂໍ້ຈຳກັດເວລາ, ຄຳສັ່ງ, ຄວາມຈຳ ແລະ ການຍົກເລີກຂອງ Jint, ແລະ ເປີດເຜີຍພຽງຟັງຊັນໂຮສທີ່ຈຳເປັນ. ຈຳກັດການເອີ້ນ DNS ແຍກຕ່າງຫາກ: ການກວດສອບການປະຕິບັດ JavaScript ບໍ່ເຮັດໃຫ້ການເອີ້ນໂຮສທີ່ບລັອກຕາມອຳເພີໃຈສາມາດຍົກເລີກໄດ້. ເຮັດໃຫ້ການເຂົ້າເຖິງເອນຈິນເປັນລຳດັບ ຫຼື ໃຫ້ວຽກທີ່ເຮັດພ້ອມກັນມີອິນສະແຕນຊຸແຍກ; ເອນຈິນບໍ່ປອດໄພສຳລັບການໃຊ້ພ້ອມກັນ.
ການຈັດຕັ້ງ PAC ໃນເບຣົາເຊີອາດແຕກຕ່າງກັນໃນສ່ວນຂະຫຍາຍຕົວຊ່ວຍ ແລະ ລາຍລະອຽດ URL ທີ່ພວກມັນເປີດເຜີຍ, ໂດຍສະເພາະສຳລັບ HTTPS. ການກົງກັບຜົນຕົວຢ່າງໜຶ່ງຍັງໜ້ອຍກວ່າການກົງກັບພຶດຕິກຳການເສັ້ນທາງຂອງເບຣົາເຊີ.