Node के HTTPS क्लाइंट के साथ SOCKS एजेंट का उपयोग करें
socks-proxy-agent को Node कोर HTTPS अनुरोध से जोड़ें और Node एजेंट तथा fetch dispatcher के बीच का अंतर बनाए रखें।
SOCKS सक्षम एजेंट Node के कोर HTTPS क्लाइंट के लिए गंतव्य कनेक्शन स्थापित कर सकता है। जब एप्लिकेशन में socks-proxy-agent उपलब्ध हो:
const https = require('node:https');
const { SocksProxyAgent } = require('socks-proxy-agent');
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const request = https.get('https://www.example.com/', {
agent,
signal: AbortSignal.timeout(15000),
}, (response) => {
console.log(response.statusCode);
response.on('error', console.error);
response.resume();
});
request.on('error', console.error);
इस सार्वजनिक HTTPS अनुरोध के लिए उदाहरण के एंडपॉइंट को SOCKS5 प्रॉक्सी सूची से किसी अप्रमाणित उम्मीदवार से बदलें। कॉलबैक स्थिति प्रिंट करने के बाद प्रतिक्रिया को खाली कर देता है; यदि एप्लिकेशन को आवश्यकता हो तो वहीं बॉडी का उपभोग करें। एजेंट को उसके सौंपे गए संचालनों के लिए दोबारा उपयोग करें, फिर जब वह क्लाइंट नीति हटाई जाए और उसका काम पूरा हो जाए तो उसे नष्ट कर दें।
चुनें कि गंतव्य नाम कहाँ हल हो
socks-proxy-agent के URL प्रबंधन में, socks5h गंतव्य होस्टनाम का समाधान प्रॉक्सी पथ पर छोड़ देता है; socks5 उसे स्थानीय रूप से हल करता है। यह तब मायने रखता है जब नाम केवल प्रॉक्सी के नेटवर्क पर उपलब्ध हो।
HTTPS URL वेबसाइट की पहचान बनाए रखता है। Node के उस वेबसाइट के लिए TLS शुरू करने से पहले एजेंट SOCKS वार्ता करता है।
उपयोगकर्ता नाम/पासवर्ड वाली सेवा के लिए, आरक्षित वर्णों के लिए URI-घटक एन्कोडिंग का उपयोग करके प्रॉक्सी URL में क्रेडेंशियल डालें। पूर्ण URL को लॉग से बाहर रखें। गंतव्य के Authorization हेडर वेबसाइट के खाते के हैं।
यह एजेंट Node के कोर HTTP/HTTPS अनुरोध API के साथ काम करता है। Node का fetch dispatcher इंटरफ़ेस का उपयोग करता है, इसलिए उस क्लाइंट का समर्थित SOCKS एकीकरण अलग से कॉन्फ़िगर करें।