Acha node-fetch ichague wakala wa proksi baada ya uelekezaji upya
Tumia kitendakazi cha wakala kwa maeneo ya HTTP na HTTPS ili uelekezaji upya uweze kuchagua wakala wa proksi unaofaa.
URL ya kwanza inaweza kuwa HTTPS na URL iliyoelekezwa upya ikawa HTTP. Chagua wakala kulingana na lengo la kila ombi, badala ya kufunga wakala mmoja kwenye URL ya kwanza.
Kwa kifurushi cha node-fetch kilichoingizwa katika programu ya ESM, toa kitendakazi:
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,
});Badilisha URL ya API na kituo cha mwisho cha proksi. Kwa API ya umma inayoruhusiwa kupitia mpatanishi wa umma, orodha ya proksi za HTTP hutoa wagombea wa proxyUrl. Mawakala wawili wanaweza kutumia kisikilizaji kimoja cha proksi ya HTTP; majina yao yanahusu ombi kuelekea lengo.
| URL iliyopitishwa kwa kichaguo | Wakala aliyechaguliwa |
|---|---|
| https://… | httpsAgent |
| http://… | httpAgent |
Kwa hiyo kitendakazi bado huchagua wakala unaofaa ikiwa uelekezaji upya unabadilisha itifaki ya lengo. proxyUrl inaendelea kuelezea mpatanishi, bila kutegemea uamuzi huo.
Unda mawakala mara moja kwa mzigo wa kazi na uwatumie tena. Shughulikia hali iliyorudishwa na soma mwili wa jibu katika msimbo unaoita. Kiolesura hiki cha wakala ni cha node-fetch; fetch iliyojengwa ndani ya Node hutumia kiolesura kingine cha usafirishaji.