node-fetch ከድጋሚ አቅጣጫ በኋላ የፕሮክሲ ወኪሉን እንዲመርጥ ይፍቀዱለት
ለHTTP እና HTTPS መዳረሻዎች የወኪል ተግባር ይጠቀሙ፣ ስለዚህ ድጋሚ አቅጣጫ ተገቢውን የፕሮክሲ ወኪል ሊመርጥ ይችላል።
የመጀመሪያው URL HTTPS ሊሆን ይችላል፣ የተቀየረው ደግሞ 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 ሌላ የማጓጓዣ ገጽታ ይጠቀማል።