URL ຂອງ proxy ເຮັດວຽກເມື່ອຕັ້ງຄ່າໂດຍກົງ ແຕ່ການຢືນຢັນລົ້ມເຫຼວຫຼັງຈາກຄ່າດຽວກັນຖືກຍ້າຍໄປໄຟລ໌ batch ຂອງ Windows. ກວດເບິ່ງວ່າຕົວແຍກ batch ໄດ້ປ່ຽນເຄື່ອງໝາຍເປີເຊັນ ກ່ອນທີ່ລູກຄ້າ HTTP ຈະໄດ້ຮັບ URL ຫຼືບໍ່.

ມີສອງການນຳສະເໜີທີ່ແຍກກັນ. ການເຂົ້າລະຫັດ URL ສາມາດນຳສະເໜີ ເສັ້ນທະແຍງຫຼັງເປັນ %5C ແລະ ເຄື່ອງໝາຍຄຳຖາມເປັນ %3F. ເຄື່ອງໝາຍເປີເຊັນແບບຕົວອັກສອນໃນຄຳສັ່ງໄຟລ໌ batch ຕ້ອງຖືກ escape ເປັນ %%.

ສຳລັບບັນຊີຕົວຢ່າງ domain\user ພ້ອມລະຫັດຜ່ານຕົວແທນ pass?, ໄຟລ໌ .bat ສາມາດມີ:

set "https_proxy=http://domain%%5Cuser:pass%%[email protected]:8080"

ຂະບວນການທີ່ເລີ່ມຫຼັງຈາກນັ້ນຄວນໄດ້ຮັບ URL ທີ່ມີ domain%5Cuser:pass%3F. ເຄື່ອງໝາຍເປີເຊັນຄູ່ເປັນຂອງແຫຼ່ງ batch ບໍ່ແມ່ນຂອງ URL proxy ທີ່ລູກຄ້າເກັບໄວ້.

ຢ່າຄັດລອກການສະກົດ batch ນັ້ນໃສ່ໄຟລ໌ .npmrc ຫຼື ຊ່ອງ proxy ຂອງແອັບພລິເຄຊັນ: ຂໍ້ມູນເຂົ້າເຫຼົ່ານັ້ນບໍ່ໄດ້ຜ່ານຂັ້ນຕອນການແຍກ batch ດຽວກັນ. ເຊັ່ນດຽວກັນ, ຕົວຢ່າງນີ້ບໍ່ແມ່ນໄວຍະກອນ PowerShell. ຕົວຫໍ່ອື່ນ, ເຊັ່ນ CALL ຫຼື ຄຳສັ່ງທີ່ສ້າງສຳລັບ shell ທີສອງ, ສາມາດເພີ່ມຂັ້ນຕອນການແຍກອີກອັນໜຶ່ງ ແລະ ຕ້ອງການການກວດສອບຂອງຕົນເອງ.

ໃສ່ການກຳນົດ SET ໃນຄຳພີ້ມຄືດັ່ງສະແດງ ເພື່ອບໍ່ໃຫ້ຊ່ອງຫວ່າງທີ່ບັງເອີນ ຫຼື ຕົວອັກສອນພິເສດຂອງ shell ກາຍເປັນສ່ວນໜຶ່ງຂອງຄຳສັ່ງທີ່ບໍ່ຕັ້ງໃຈ. ຄຳພີ້ມຢ່າງດຽວບໍ່ປ້ອງກັນການຂະຫຍາຍເປີເຊັນ.

ເມື່ອກວດຜົນ, ໃຫ້ປຽບທຽບການເຂົ້າລະຫັດທີ່ຄາດຫວັງກັບການນຳສະເໜີທີ່ຖືກປົກປິດ ແທນການພິມ URL ທີ່ມີລະຫັດຜ່ານໃສ່ບັນທຶກທີ່ແບ່ງປັນ. ການແກ້ໄຂການ escape ຂອງ shell ຮັກສາຂໍ້ມູນຢືນຢັນ; ມັນບໍ່ໄດ້ເລືອກຮູບແບບການຢືນຢັນທີ່ລູກຄ້າບໍ່ໄດ້ຮອງຮັບຢູ່ແລ້ວ.

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