ទុកឱ្យ node-fetch ជ្រើសរើសភ្នាក់ងារប្រូកស៊ី បន្ទាប់ពីការប្តូរទិស
ប្រើអនុគមន៍ភ្នាក់ងារសម្រាប់គោលដៅ HTTP និង HTTPS ដើម្បីឱ្យការប្តូរទិសអាចជ្រើសរើសភ្នាក់ងារប្រូកស៊ីដែលត្រឹមត្រូវ។
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 ប្រើចំណុចប្រទាក់ដឹកជញ្ជូនផ្សេង។