ໃຊ້ IP ພຣັອກຊີກັບ Undici ຂອງ Node
ໃຫ້ Undici ProxyAgent ແກ່ຄຳຂໍ fetch ໜຶ່ງຄັ້ງ ແລະແຍກພູລການເຊື່ອມຕໍ່ຈາກທຣາຟິກ Node ອື່ນ.
Undici ສົ່ງຄຳຂໍຜ່ານ dispatcher. ສ້າງ ProxyAgent ສຳລັບພຣັອກຊີ HTTP ທີ່ເລືອກ ແລ້ວສົ່ງໃຫ້ການເອີ້ນ fetch ແທນການປ່ຽນ dispatcher ສ່ວນກາງຂອງໂປຣເຊສທັງໝົດ.
npm install [email protected]
import { fetch, ProxyAgent } from 'undici';
const dispatcher = new ProxyAgent('http://203.0.113.10:8080');
try {
const response = await fetch('https://example.com/', {
dispatcher,
signal: AbortSignal.timeout(15000),
});
console.log(response.status);
console.log(await response.text());
} finally {
await dispatcher.close();
}
ບັນທຶກໂປຣແກຣມເປັນໄຟລ໌ .mjs ຫຼືໃຊ້ໂຄງການໂມດູນ ES. ປ່ຽນ IP ເອກະສານເປັນພຣັອກຊີ HTTP ຈາກລາຍການພຣັອກຊີ HTTP. ການນຳເຂົ້າຈົງໃຈໃຊ້ fetch ຂອງ Undici ດັ່ງນັ້ນຕົວເລືອກ dispatcher ເປັນຂອງໄຄລເອນໃນຕົວຢ່າງ.
ກວດຄວາມເຂົ້າກັນຂອງ Node ກ່ອນໂທດ IP
ຮຸ່ນ Node ທີ່ Undici ຮອງຮັບຂຶ້ນກັບຮຸ່ນແພັກເກັດ. ຕົວຢ່າງໃຊ້ Undici 8.12.3 ຊຶ່ງຕ້ອງການ Node 22.19.0 ຫຼືໃໝ່ກວ່າ. ຂໍ້ຜິດພາດໂຫຼດໂມດູນຫຼືຮຸ່ນເອນຈິນເກີດກ່ອນຄຳຂໍເຖິງພຣັອກຊີ. ກວດຂໍ້ກຳນົດຂອງແພັກເກັດທີ່ຕິດຕັ້ງ ຢ່າຄິດວ່າທຸກ Node ລັນ Undici ລ່າສຸດໄດ້.
agent ດຽວໃຫ້ບໍລິການຄຳຂໍຊ້ຳໄດ້
ໂປຣແກຣມສັ້ນປິດ dispatcher ເມື່ອຈົບ. ຖ້າແອັບທີ່ກຳລັງເຮັດວຽກສົ່ງຫຼາຍຄຳຂໍຜ່ານຈຸດເດີມ ເກັບ agent ສຳລັບວຽກນັ້ນ ແລະປິດເມື່ອວຽກຈົບ. ການສ້າງແລະປິດ agent ຕໍ່ URL ຂັດຂວາງການນຳການເຊື່ອມຕໍ່ກັບມາໃຊ້ທີ່ເປັນປະໂຫຍດ.
dispatcher ສ່ວນກາງເໝາະເມື່ອຈົງໃຈປ່ຽນກວ້າງເທົ່ານັ້ນ. ສົ່ງໃຫ້ຊັດເຈນຊ່ວຍທົດສອບ IP ພຣັອກຊີໂດຍບໍ່ປ່ຽນຄຳຂໍຂາອອກຂອງອົງປະກອບອື່ນ.
ເບິ່ງຄຳຕອບແລະຂັ້ນຕອນລົ້ມເຫຼວ
fetch ບໍ່ຖືວ່າທຸກສະຖານະຜິດພາດ HTTP ເປັນ Promise ທີ່ປະຕິເສດ. 403 ຫຼື 429 ອາດເປັນຄຳຕອບຈິງຂອງເວັບໄຊທີ່ຜ່ານພຣັອກຊີ. ຂໍ້ຜິດພາດການເຊື່ອມຕໍ່ຫຼືອຸໂມງອາດປະຕິເສດຄຳຂໍກ່ອນມີອອບເຈັກຄຳຕອບ. ອ່ານສະຖານະແຍກຈາກຂໍ້ຜິດພາດທີ່ການເອີ້ນໂຍນອອກມາ.
ຖ້າຕ້ອງຢືນຢັນຕົວຕົນ ProxyAgent ຂອງ Undici ມີຕົວເລືອກໃນຄອນສະຕຣັກເຕີ. ຢ່າເພີ່ມເຮດເດີອະນຸຍາດພຣັອກຊີໃນເຮດເດີຄຳຂໍເວັບໄຊ; agent ຈັດການອີກຊ່ວງຂອງການເຊື່ອມຕໍ່.