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 ប្រើចំណុចប្រទាក់ដឹកជញ្ជូនផ្សេង។

អត្ថបទពាក់ព័ន្ធ