URL ທຳອິດອາດເປັນ HTTPS ແລະ URL ທີ່ຖືກປ່ຽນທິດທາງອາດເປັນ HTTP. ເລືອກຕົວແທນຕາມປາຍທາງຂອງແຕ່ລະຄຳຮ້ອງ, ແທນທີ່ຈະຜູກຕົວແທນດຽວໄວ້ກັບ URL ທຳອິດ.

ສຳລັບແພັກເກດ node-fetch ທີ່ນຳເຂົ້າໃນແອັບ ESM, ໃຫ້ຟັງຊັນໜຶ່ງ:

import fetch from 'node-fetch';
import { HttpProxyAgent } from 'http-proxy-agent';
import { HttpsProxyAgent } from 'https-proxy-agent';

const proxyUrl = 'http://proxy.example:8080';
const httpAgent = new HttpProxyAgent(proxyUrl);
const httpsAgent = new HttpsProxyAgent(proxyUrl);

const response = await fetch('https://api.example/', {
  agent: url => url.protocol === 'http:' ? httpAgent : httpsAgent,
});

ປ່ຽນ URL ຂອງ API ແລະຈຸດສິ້ນສຸດຂອງພຣອກຊີ. ສຳລັບ API ສາທາລະນະທີ່ອະນຸຍາດຜ່ານຕົວກາງສາທາລະນະ, ລາຍຊື່ພຣອກຊີ HTTP ສະເໜີຜູ້ສະໝັກສຳລັບ proxyUrl. ຕົວແທນທັງສອງສາມາດໃຊ້ຕົວຮັບຟັງພຣອກຊີ HTTP ດຽວກັນ; ຊື່ຂອງພວກມັນໝາຍເຖິງຄຳຮ້ອງໄປຫາປາຍທາງ.

URL ທີ່ສົ່ງໃຫ້ຕົວເລືອກຕົວແທນທີ່ຖືກເລືອກ
https://…httpsAgent
http://…httpAgent

ດັ່ງນັ້ນຟັງຊັນຍັງເລືອກຕົວແທນທີ່ກົງກັນ ເມື່ອການປ່ຽນທິດທາງປ່ຽນໂປຣໂຕຄອນຂອງປາຍທາງ. proxyUrl ຍັງອະທິບາຍຕົວກາງ, ໂດຍບໍ່ຂຶ້ນກັບການຕັດສິນໃຈນັ້ນ.

ສ້າງຕົວແທນທັງສອງຄັ້ງດຽວສຳລັບພາລະວຽກ ແລ້ວໃຊ້ຄືນ. ຈັດການສະຖານະທີ່ສົ່ງຄືນ ແລະອ່ານເນື້ອຄວາມຕອບສະໜອງໃນໂຄດທີ່ເອີ້ນ. ສ່ວນຕິດຕໍ່ຕົວແທນນີ້ເປັນຂອງ node-fetch; fetch ທີ່ມີໃນ Node ໃຊ້ສ່ວນຕິດຕໍ່ການຂົນສົ່ງອື່ນ.

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