Թող node-fetch-ը վերահասցեավորումից հետո ընտրի պրոքսի գործակալը
Օգտագործեք գործակալի ֆունկցիա HTTP և HTTPS նպատակակետերի համար, որպեսզի վերահասցեավորումը կարողանա ընտրել համապատասխան պրոքսի գործակալը։
Առաջին URL-ը կարող է լինել HTTPS, իսկ վերահասցեավորված URL-ը՝ HTTP։ Ընտրեք գործակալը յուրաքանչյուր հարցման նպատակակետի համաձայն՝ փոխարենը մեկ գործակալ առաջին URL-ին կապելու։
ESM հավելվածում ներմուծված node-fetch փաթեթի համար տրամադրեք ֆունկցիա՝
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,
});Փոխարինեք API-ի URL-ը և պրոքսիի վերջնակետը։ Հանրային միջնորդի միջոցով թույլատրված հանրային API-ի համար HTTP պրոքսիների ցանկը թեկնածուներ է տալիս proxyUrl-ի համար։ Երկու գործակալները կարող են օգտագործել նույն HTTP պրոքսի լսողը. նրանց անունները վերաբերում են նպատակակետին ուղղված հարցմանը։
| Ընտրիչին փոխանցված URL-ը | Ընտրված գործակալը |
|---|---|
| https://… | httpsAgent |
| http://… | httpAgent |
Այսպիսով, ֆունկցիան դեռ ընտրում է համապատասխան գործակալը, եթե վերահասցեավորումը փոխում է նպատակակետի արձանագրությունը։ proxyUrl-ը շարունակում է նկարագրել միջնորդին՝ անկախ այդ որոշումից։
Ստեղծեք գործակալները մեկ անգամ աշխատանքային բեռի համար և կրկին օգտագործեք։ Մշակեք վերադարձված կարգավիճակը և պատասխանի մարմինը կարդացեք կանչող կոդում։ Այս գործակալի ինտերֆեյսը պատկանում է node-fetch-ին. Node-ի ներկառուցված fetch-ը օգտագործում է այլ տրանսպորտային ինտերֆեյս։