2011-10-14 18 views
9

के साथ नोड.जेएस में यूआरएल सामग्री प्राप्त करें एक्सप्रेस फ्रेमवर्क का उपयोग करते समय नोड में एक यूआरएल की सामग्री डाउनलोड करने के बारे में मैं कैसे जाउंगा? असल में, मुझे फेसबुक प्रमाणीकरण प्रवाह को पूरा करने की आवश्यकता है, लेकिन मैं अपने ओथ टोकन यूआरएल को प्राप्त किए बिना ऐसा नहीं कर सकता।एक्सप्रेस

आम तौर पर, PHP में, मैं कर्ल का उपयोग करता हूं, लेकिन नोड समकक्ष क्या है?

उत्तर

22
var options = { 
    host: 'www.google.com', 
    port: 80, 
    path: '/index.html' 
}; 

http.get(options, function(res) { 
    console.log("Got response: " + res.statusCode); 
}).on('error', function(e) { 
    console.log("Got error: " + e.message); 
}); 

http://nodejs.org/docs/v0.4.11/api/http.html#http.get

+1

शुद्ध-नोड समाधान के लिए धन्यवाद। हालांकि पूरी घटना संचालित चीज शांत है, अनुरोध मॉड्यूल की सादगी कोड को उस परियोजना के लिए बहुत आसान बनाता है जिसके साथ मैं काम कर रहा हूं। क्योंकि मैंने मॉड्यूल या मॉड्यूल-कम निर्दिष्ट नहीं किया है, इसलिए मैं इसे उत्तर के रूप में चिह्नित करने जा रहा हूं। –

+1

मुझे उसी समाधान का एक बेहतर उदाहरण होने के लिए http://stackoverflow.com/questions/6695143/how-to-make-web-service-calls-in-expressjs पर स्वीकृत उत्तर मिला। – ashack

7

समस्या यह है कि आप सामने है जाएगा: कुछ वेबपेज जावास्क्रिप्ट का उपयोग उसकी सामग्री को लोड करता है। इस प्रकार, आपको After-Load जैसे पैकेज की आवश्यकता है जो ब्राउज़र के व्यवहार को अनुकरण करता है, फिर आपको उस यूआरएल की HTML सामग्री देता है।

var afterLoad = require('after-load'); 
afterLoad('https://google.com', function(html){ 
    console.log(html); 
});