के साथ Node.js https.request मैं उपयोगकर्ताओं की फेसबुक दीवार से पोस्ट खींचना चाहता हूं।रख-रखाव शीर्षलेख
निम्नलिखित कोड का टुकड़ा काम करता है, लेकिन यह कभी नहीं समाप्त हो जाता है:
var https = require('https');
facebookWall = function(user) {
var options = {
host: 'graph.facebook.com',
port: 443,
path: '/me/home?access_token=' + user.facebook_token + '&since=' + encodeURIComponent(user.facebook_timestamp),
method: 'GET',
headers: {
'Connection':'keep-alive'
}
};
var req = https.request(options)
.on('response', function(response) {
var body = '';
response.on('data', function(data) {
body += data;
try {
var wallPosts = JSON.parse(body);
console.log("user " + user.id + " has " + wallPosts.data.length + " new items on their wall");
}
catch (e) {
//console.log("waiting for more data chunks...");
}
})
});
req.end();
req.on('error', function(e) {
console.error(e);
});
}
मुझे लगता है कि यह 'Connection':'keep-alive'
हेडर के कारण होता है। जब मैं इसे 'Connection':'close'
के साथ प्रतिस्थापित करता हूं तो स्क्रिप्ट समाप्त हो जाएगी जब सभी डेटा फेसबुक से पुनर्प्राप्त किए जाते हैं।
मैं प्रत्येक अनुरोध के लिए एक नया एसएसएल कनेक्शन बनाने से रोकने के लिए रख-रखाव हेडर का उपयोग करने में सक्षम होने की उम्मीद कर रहा हूं। मेरे पास हजारों अनुरोध हैं और जीवित हेडर के साथ, यह कुछ ही सेकंड में पूरा होता है, क्योंकि कुछ मिनटों के विपरीत रहते हुए हेडर के बिना।
क्या कोई यह जानता है कि इसे कैसे पूरा किया जाए? मैं नोड.जेएस के लिए बिल्कुल नया हूं, इसलिए यदि मुझे कुछ स्पष्ट याद आ रहा है, तो मैं क्षमा चाहता हूं।