Node HTTP ला प्रॉक्सीमधून नेणारी विनंती ओळ
कनेक्शन एंडपॉइंट, निरपेक्ष लक्ष्य आणि Host शीर्षक वेगळे करून Node च्या मुख्य क्लायंटसह साधी HTTP प्रॉक्सी विनंती तयार करा.
फॉरवर्ड प्रॉक्सीमधून जाणाऱ्या सामान्य HTTP विनंतीत Node प्रॉक्सीशी जोडले जाते आणि गंतव्य URL विनंती ओळीत पाठवते. तीन मूल्ये ती एक विनंती वर्णन करतात:
| मूल्य | उदाहरण |
|---|---|
| TCP कनेक्शन एंडपॉइंट | proxy.example:8080 |
| विनंतीचे लक्ष्य | http://example.com/news?q=proxy |
| Host शीर्षक | example.com |
हे Node 22 उदाहरण विभाजन स्पष्ट करते:
const http = require('node:http');
const destination = new URL('http://example.com/news?q=proxy');
const request = http.get({
hostname: 'proxy.example',
port: 8080,
path: destination.href,
headers: { Host: destination.host },
signal: AbortSignal.timeout(15000),
}, (response) => {
console.log(response.statusCode);
response.on('error', console.error);
response.resume();
});
request.on('error', console.error);
एंडपॉइंट हे प्लेसहोल्डर आहे; सार्वजनिक HTTP चाचणीसाठी HTTP प्रॉक्सी यादीमधून उमेदवार निवडा आणि त्याचा प्रतिसाद तपासा. उदाहरण स्थिती मुद्रित केल्यानंतर प्रतिसाद रिकामा करते; अनुप्रयोग त्याऐवजी बॉडी वापरू शकतो. क्वेरी विनंतीच्या लक्ष्याचा भाग राहते.
संपूर्ण URL तिथे का असते
मूळ सर्व्हरला सामान्यतः /news?q=proxy सारखे लक्ष्य मिळते. फॉरवर्ड प्रॉक्सीलाही गंतव्याची गरज असते, म्हणून HTTP/1.1 लक्ष्य निरपेक्ष स्वरूपात परिभाषित करते:
GET http://example.com/news?q=proxy HTTP/1.1
Host: example.com
HTTP/1.1 च्या नियमांनुसार, निरपेक्ष स्वरूप मिळालेली प्रॉक्सी पुढे पाठवताना URI चा अधिकार वापरते आणि विसंगत प्राप्त Host फील्ड बदलते. सुसंगत गंतव्य Host शीर्षक पाठवणे तरीही बाहेर जाणारी विनंती अस्पष्ट राहू देत नाही. Node चे कनेक्शन होस्टनाव मध्यस्थ आहे, म्हणून त्या कनेक्शन पत्त्यावर अवलंबून न राहता शीर्षक जाणीवपूर्वक सेट करा.
प्रमाणीकरण आवश्यक असल्यास, प्रॉक्सीची ओळखपत्रे त्याच्या स्वतःच्या हॉपची असतात. Node चा auth विनंती पर्याय संसाधनासाठी Authorization शीर्षक तयार करतो; तो सामान्य प्रॉक्सी लॉगिन पर्याय नाही. देवघेव अधिक गुंतागुंतीची असल्यास प्रॉक्सीने मागितलेली योजना आणि योग्य प्रॉक्सी क्लायंट वापरा.
HTTPS बोगदा जोडते
हे उदाहरण साधे HTTP अग्रेषण व्यापते. ठराविक HTTP प्रॉक्सीमधून HTTPS कनेक्शन प्रथम CONNECT example.com:443 मागते, नंतर स्वीकारलेल्या बोगद्यात गंतव्याकडे TLS सुरू करते. उदाहरणाचा URL HTTPS करणे ते टप्पे जोडत नाही.
HTTPS किंवा मिश्र कामासाठी आवश्यक बोगदा समर्थन असलेला देखभाल केलेला प्रॉक्सी एजंट किंवा डिस्पॅचर वापरा. सुसंगत Node आवृत्त्यांसाठी एक पर्याय ProxyAgent सह Undici चे fetch आहे. साधी HTTP देवघेवच जेव्हा तुम्हाला नियंत्रित किंवा समजून घ्यायची असेल तेव्हा हे छोटे मुख्य-क्लायंट उदाहरण ठेवा.