ໃຫ້ Undici ອ່ານຕົວແປພຣັອກຊີຈາກສະພາບແວດລ້ອມ
ໃຊ້ EnvHttpProxyAgent ຢ່າງຕັ້ງໃຈ ແລະແຍກລຳດັບຕົວພິມນ້ອຍ ກົດຂ້າມ URL ທີ່ເກັບໄວ້ ແລະ no_proxy ທີ່ປ່ຽນໄດ້.
ໃຊ້ EnvHttpProxyAgent ເມື່ອສະພາບແວດລ້ອມໂປຣເຊສຄວນເລືອກເສັ້ນທາງ. ໃຊ້Undici ProxyAgent ທີ່ລະບຸຊັດເມື່ອຈຸດເຊື່ອມຕໍ່ຄວນຢູ່ໃນຄ່າໄຄເອັນ. ສົ່ງມັນໃຫ້ຄຳຂໍຈິງ; ສ້າງ agent ຢ່າງດຽວບໍ່ປ່ຽນການເອີ້ນ fetch ໃດ.
import { EnvHttpProxyAgent, fetch } from 'undici';
const dispatcher = new EnvHttpProxyAgent();
try {
const response = await fetch("https://example.com/", {
dispatcher,
signal: AbortSignal.timeout(15000),
});
console.log(response.status);
await response.arrayBuffer();
} finally {
await dispatcher.close();
}ບັນທຶກເປັນ proxy-check.mjs ໃນລະບົບໂມດູນ ES ທີ່ມີ Undici. ການເລີ່ມ POSIX ນີ້ໃຫ້ສອງເສັ້ນທາງພຣັອກຊີ ແລະລາຍຊື່ຂ້າມທີ່ວ່າງ:
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsແທນຈຸດຕົວຢ່າງດ້ວຍ HTTP ພຣັອກຊີຂອງທ່ານ ຫຼືລາຍການຈາກລາຍຊື່ HTTP ພຣັອກຊີ. ການກຳນົດຄ່າເປັນຂອງການຮັນຄັ້ງນີ້; shell ອື່ນໃຊ້ໄວຍາກອນຕ່າງກັນ.
ໃນ Undici 8.12.3 ຕົວພິມນ້ອຍ http_proxy, https_proxy ແລະ no_proxy ມີລຳດັບກ່ອນຄູ່ຕົວພິມໃຫຍ່ເມື່ອມີທັງສອງ. ປາຍທາງ HTTP ແລະ HTTPS ເລືອກຄ່າຂອງຕົນ. ມີສະເພາະຄ່າ HTTP ຍັງເປັນຄ່າສຳຮອງໃຫ້ HTTPS; ມີສະເພາະ HTTPS ບໍ່ຄອບຄຸມ HTTP. ຢ່າຖືວ່າທຳນຽມ ALL_PROXY ຂອງໄຄເອັນອື່ນໃຊ້ໄດ້.
| ຂໍ້ມູນເຂົ້າ | ລຸ້ນນີ້ໃຊ້ເມື່ອໃດ |
|---|---|
| ສະພາບແວດລ້ອມພຣັອກຊີ HTTP/HTTPS | ເລືອກຕອນສ້າງ agent. ສ້າງ dispatcher ໃໝ່ເມື່ອປ່ຽນຈຸດເຊື່ອມຕໍ່ເຫຼົ່ານີ້. |
no_proxy ຈາກສະພາບແວດລ້ອມ | ກວດອີກຄັ້ງຕອນສົ່ງຄຳຂໍ. |
noProxy ໃນ constructor | ຕຶງນະໂຍບາຍຂ້າມຢ່າງຊັດເຈນ ແທນການຕາມຄ່າທີ່ປ່ຽນພາຍຫຼັງ. |
ກົດຂ້າມຈັບຄູ່ໂຮສ ແລະພອດທີ່ເລືອກເພີ່ມໄດ້; ດອກຈັນຕົວດຽວຂ້າມພຣັອກຊີສຳລັບທຸກຄຳຂໍ. ຖ້າພຣັອກຊີບໍ່ເຫັນທຣາຟຟິກໃຫ້ກວດການຈັບຄູ່ປາຍທາງ.
ໃນ Windows ໂປຣເຊສຫຼັກບໍ່ແຍກຕົວພິມນ້ອຍໃຫຍ່ໃນຊື່ສະພາບແວດລ້ອມ ດັ່ງນັ້ນ HTTP_PROXY ແລະ http_proxy ບໍ່ແມ່ນຄ່າແຍກກັນ. ສຳເນົາສະພາບແວດລ້ອມຂອງ Node Worker ມີຄວາມຕ່າງດ້ານຕົວພິມຕາມເອກະສານ. ຄຳນຶງເຖິງຈຸດນີ້ກ່ອນຕັ້ງທັງສອງຮູບແບບເພື່ອທົດສອບລຳດັບ. ຕົວຢ່າງປິດ dispatcher ຫຼັງເຮັດວຽກ; ເກັບມັນໄວ້ລະຫວ່າງຄຳຂໍຊ້ຳທີ່ຕ້ອງໃຊ້ນະໂຍບາຍຈຸດເຊື່ອມຕໍ່ຊຸດເດີມທີ່ເກັບໄວ້.