Node.js के साथ बाहरी HTTP अनुरोध कैसे करें [बंद]


84

सवाल काफी सरल है। मैं एक HTTP HTTP (PUT, GET, और DELETE अनुरोध) बैकेंड सर्वर को लॉग इन करने, प्रमाणित करने और अग्रेषित करने के लिए प्रॉक्सी के रूप में Node.js सर्वर का उपयोग करना चाहता हूं।

मुझे उस उद्देश्य के लिए किस पुस्तकालय का उपयोग करना चाहिए? मुझे डर है कि मैं एक नहीं मिल सकता।

जवाबों:


136

NodeJS एक मानक मॉड्यूल के रूप में http.request का समर्थन करता है: http://nodejs.org/docs/v0.4.11/api/http.html#http.request

var http = require('http');

var options = {
  host: 'example.com',
  port: 80,
  path: '/foo.html'
};

http.get(options, function(resp){
  resp.on('data', function(chunk){
    //do something with chunk
  });
}).on("error", function(e){
  console.log("Got error: " + e.message);
});

10
मैं resp.setEncoding('utf8');utf8 स्ट्रिंग्स के रूप में डेटा प्राप्त करने के लिए (या जो भी एन्कोडिंग का उपयोग कर रहा हूं) जोड़ने की सलाह दूंगा। अगर मैं सही समझ गया हूं, अन्यथा आप बफर ऑब्जेक्ट प्राप्त करेंगे और मल्टी-बाइट वर्णों के साथ परेशानी हो सकती है यदि मल्टी-बाइट वर्ण दो विखंडू में विभाजित हो। (थोड़ी देर के लिए संबंधित समस्या पर
बहस की

8
मैं वास्तव में requestnpm मॉड्यूल का उपयोग करना शुरू कर चुका हूं ।
चॉवी

7

मैं नोड-http-प्रॉक्सी और एक्सप्रेस को मिलाऊंगा

नोड- http- प्रॉक्सी आपके नोड के अंदर एक प्रॉक्सी का समर्थन करेगा। जेएस वेब सर्वर के माध्यम से RoutingProxy( किसी अन्य http सर्वर के भीतर प्रॉक्सी अनुरोध नामक उदाहरण देखें )।

अपने कस्टम सर्वर लॉजिक के अंदर आप एक्सप्रेस का उपयोग करके प्रमाणीकरण कर सकते हैं। एक उदाहरण के लिए यहाँ पर नमूना देखें ।

उन दो उदाहरणों को जोड़कर आपको जो चाहिए वो देना चाहिए।


5

आप एक करने के लिए अंतर्निहित httpमॉड्यूल का उपयोग कर सकते हैं http.request()

हालाँकि अगर आप एपीआई को सरल बनाना चाहते हैं तो आप एक मॉड्यूल जैसे सुपरएगेंट का उपयोग कर सकते हैं


3
वास्तव में बहुत सेरी आपी। मैं केवल निम्न स्तर के एपीआई प्रदान करने के लिए नोड को दोष नहीं देता हूं, लेकिन डेटा का हिस्सा संभालना शुरू करना सिर्फ सादा कष्टप्रद है।
लॉरेंट बॉरगौल-रॉय

1

जैसा कि @hross द्वारा सुझाया गया था, नोड-http-प्रॉक्सी एक बेहतरीन समाधान है। यदि आप नोड का उपयोग करने में कोई कमी नहीं कर रहे हैं, तो हम उसी कार्य को करने के लिए NGINX का उपयोग करते हैं। यह नोड के साथ वास्तव में अच्छी तरह से काम करता है। उदाहरण के लिए हम इसका उपयोग नोड को अग्रेषित करने से पहले SSL अनुरोधों को संसाधित करने के लिए करते हैं। यह कैशिंग और अग्रेषण मार्गों को भी संभाल सकता है। वाह!


0

आप ऐसा करने के लिए नोड.जेएस http मॉड्यूल का उपयोग कर सकते हैं। आप Node.js HTTP पर प्रलेखन की जाँच कर सकते हैं ।

आपको क्वेरी स्ट्रिंग के साथ-साथ अन्य HTTP सर्वर को भी पास करना होगा। आपको ServerRequest.url में ऐसा होना चाहिए ।

एक बार आपके पास वो जानकारी होने के बाद, आप बैकएंड HTTP सर्वर में पास कर सकते हैं और उन विकल्पों में पोर्ट कर सकते हैं, जिन्हें आप प्रदान करेंगे http.request()

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.