gpt4 book ai didi

facebook - 带有 keep-alive header 的 Node.js https.request

转载 作者:搜寻专家 更新时间:2023-10-31 22:44:18 37 4
gpt4 key购买 nike

我想从用户的 Facebook 墙上拉取帖子。

以下代码片段有效,但它永远不会终止:

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' header 引起的。当我用 'Connection':'close' 替换它时,脚本将在从 facebook 检索到所有数据后终止。

我希望能够使用 keep-alive header 来避免必须为每个请求创建新的 SSL 连接。我有数千个请求,使用 keep-alive header ,只需几秒钟即可完成,而没有 keep-alive header 则需要几分钟。

有人知道怎么实现吗?我是 Node.JS 的新手,所以如果我遗漏了一些明显的东西,我深表歉意。

最佳答案

是因为https/tls/ssl还没有实现keep-alive在 Node 4.x 中,我也相信 6.x。这就是为什么在 Node websocket-server它也不起作用,请参阅 https://github.com/nephics/node-websocket-server/commit/3a732bff6aabe694834d87086a7718be7c0ce138

关于facebook - 带有 keep-alive header 的 Node.js https.request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337328/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com