Yönlendirmeden sonra proxy aracısını node-fetch seçsin
HTTP ve HTTPS hedefleri için bir aracı işlevi verin; böylece yönlendirme uygun proxy aracısını seçebilsin.
İlk URL HTTPS, yönlendirilen URL ise HTTP olabilir. Tek bir aracıyı ilk URL'ye bağlamak yerine her isteğin hedefine göre aracıyı seçin.
ESM uygulamasında içe aktarılan node-fetch paketi için bir işlev verin:
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'sini ve proxy uç noktasını değiştirin. Genel bir aracı üzerinden izin verilen genel bir API için HTTP proxy listesi proxyUrl için adaylar sağlar. İki aracı aynı HTTP proxy dinleyicisini kullanabilir; adları hedefe giden isteği belirtir.
| Seçiciye verilen URL | Seçilen aracı |
|---|---|
| https://… | httpsAgent |
| http://… | httpAgent |
Bu nedenle yönlendirme hedefin protokolünü değiştirse bile işlev eşleşen aracıyı seçmeye devam eder. proxyUrl bu karardan bağımsız olarak aracıyı tanımlamayı sürdürür.
Aracıları iş yükü için bir kez oluşturun ve yeniden kullanın. Dönen durumu işleyin ve yanıt gövdesini çağıran kodda okuyun. Bu aracı arabirimi node-fetch'e aittir; Node'un yerleşik fetch'i farklı bir taşıma arabirimi kullanır.