रिडिरेक्टपछि 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 ले फरक ट्रान्सपोर्ट इन्टरफेस प्रयोग गर्छ।