ໃຊ້ຕົວແທນ SOCKS ກັບລູກຄ້າ HTTPS ຂອງ Node
ເຊື່ອມຕໍ່ socks-proxy-agent ກັບຄຳຮ້ອງ HTTPS ແກນຂອງ Node ແລະ ຮັກສາຄວາມແຕກຕ່າງລະຫວ່າງຕົວແທນ Node ແລະ fetch dispatcher.
ຕົວແທນທີ່ຮອງຮັບ SOCKS ສາມາດສ້າງການເຊື່ອມຕໍ່ປາຍທາງສຳລັບລູກຄ້າ HTTPS ແກນຂອງ Node. ເມື່ອມີ socks-proxy-agent ໃນແອັບພລິເຄຊັນ:
const https = require('node:https');
const { SocksProxyAgent } = require('socks-proxy-agent');
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const request = https.get('https://www.example.com/', {
agent,
signal: AbortSignal.timeout(15000),
}, (response) => {
console.log(response.statusCode);
response.on('error', console.error);
response.resume();
});
request.on('error', console.error);
ແທນຈຸດສຸດທ້າຍຕົວຢ່າງດ້ວຍຜູ້ສະໝັກທີ່ບໍ່ໄດ້ຢືນຢັນຈາກລາຍຊື່ພຣັອກຊີ SOCKS5 ສຳລັບຄຳຮ້ອງ HTTPS ສາທາລະນະນີ້. ການເອີ້ນກັບຈະລະບາຍການຕອບສະໜອງຫຼັງຈາກພິມສະຖານະ; ບໍລິໂພກເນື້ອໃນຢູ່ທີ່ນັ້ນຖ້າແອັບພລິເຄຊັນຕ້ອງການ. ໃຊ້ຕົວແທນຄືນສຳລັບການດຳເນີນງານທີ່ມອບໝາຍ, ແລ້ວທຳລາຍມັນເມື່ອນະໂຍບາຍລູກຄ້ານັ້ນຖືກຍົກເລີກ ແລະ ວຽກຂອງມັນສຳເລັດແລ້ວ.
ເລືອກບ່ອນທີ່ຊື່ປາຍທາງຖືກແກ້ໄຂ
ໃນການຈັດການ URL ຂອງ socks-proxy-agent, socks5h ປ່ອຍໃຫ້ການແກ້ໄຂຊື່ໂຮສປາຍທາງເປັນຂອງເສັ້ນທາງພຣັອກຊີ; socks5 ແກ້ໄຂມັນໃນທ້ອງຖິ່ນ. ນີ້ສຳຄັນເມື່ອຊື່ມີພຽງແຕ່ໃນເຄືອຂ່າຍຂອງພຣັອກຊີ.
URL HTTPS ຮັກສາເອກະລັກຂອງເວັບໄຊ. ຕົວແທນດຳເນີນການເຈລະຈາ SOCKS ກ່ອນ Node ຈະເລີ່ມ TLS ໄປຫາໄຊຕ໌ນັ້ນ.
ສຳລັບບໍລິການທີ່ມີຊື່ຜູ້ໃຊ້/ລະຫັດຜ່ານ, ໃສ່ຂໍ້ມູນຢືນຢັນໃນ URL ພຣັອກຊີໂດຍໃຊ້ການເຂົ້າລະຫັດອົງປະກອບ URI ສຳລັບອັກສອນສະຫງວນ. ເກັບ URL ເຕັມໄວ້ນອກບັນທຶກ. ຫົວຂໍ້ Authorization ຂອງປາຍທາງເປັນຂອງບັນຊີເວັບໄຊ.
ຕົວແທນນີ້ເຮັດວຽກກັບ API ຄຳຮ້ອງ HTTP/HTTPS ແກນຂອງ Node. fetch ຂອງ Node ໃຊ້ສ່ວນຕິດຕໍ່ dispatcher, ດັ່ງນັ້ນຕັ້ງຄ່າການລວມ SOCKS ທີ່ຮອງຮັບຂອງລູກຄ້ານັ້ນແຍກຕ່າງຫາກ.