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 एकीकरण अलग रूपमा कन्फिगर गर्नुहोस्।