Javascript Node.js客户端请求挂起
我有一个node.js进程,它使用大量客户端请求从网站中提取信息。我使用请求包()是因为,正如它所说:“它支持HTTPS,并且默认情况下遵循重定向。” 我的问题是,经过一段时间后,请求开始挂起。我无法确定这是因为服务器返回了无限的数据流,还是发生了其他事情。我已经设置了超时时间,但是在一些成功的请求之后,其中一些请求最终被卡住,无法完成Javascript Node.js客户端请求挂起,javascript,node.js,Javascript,Node.js,我有一个node.js进程,它使用大量客户端请求从网站中提取信息。我使用请求包()是因为,正如它所说:“它支持HTTPS,并且默认情况下遵循重定向。” 我的问题是,经过一段时间后,请求开始挂起。我无法确定这是因为服务器返回了无限的数据流,还是发生了其他事情。我已经设置了超时时间,但是在一些成功的请求之后,其中一些请求最终被卡住,无法完成 var options = { url: 'some url', timeout: 60000 }; request(options, function (er
var options = { url: 'some url', timeout: 60000 };
request(options, function (err, response, body) {
// process
});
我的问题是,在使用此库接收到一定数量的数据后,是否可以关闭连接,以及是否可以停止挂起请求?我是否需要使用http/https库,自己处理重定向和协议切换,以便获得所需的控制?如果我这样做,是否有一个标准化的做法
编辑:另外,如果我停止进程并重新启动它,它们会立即重新启动并开始工作,因此我认为这与运行代码的服务器或机器无关。请注意,在请求(选项,回调)
中,当请求完成时将触发回调,并且无法中断请求
您应该收听数据
事件:
var request = require('request')
var stream = request(options);
var len = 0
stream.on('data', function(data) {
// TODO process your data here
// break stream if len > 1000
len += Buffer.byteLength(data)
if (len > 1000) {
stream.abort()
}
})
您正在运行哪个版本的node.js?(在终端中键入
节点--version
)