റീഡയറക്ടിന് ശേഷം 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 മറ്റൊരു ട്രാൻസ്പോർട്ട് ഇന്റർഫേസ് ഉപയോഗിക്കുന്നു.