gpt4 book ai didi

api - 请求模块出错

转载 作者:太空宇宙 更新时间:2023-11-03 23:45:11 24 4
gpt4 key购买 nike

我正在对 mtgox 服务器进行查询。这是 API https://en.bitcoin.it/wiki/MtGox/API/HTTP/v1 。我的代码成功到达服务器,但几次后会弹出此错误:

events.js:115
listeners[i].apply(this, args);
^
TypeError: Cannot call method 'apply' of undefined
at EncryptedStream.EventEmitter.emit (events.js:115:20)
at SecurePair.destroy (tls.js:896:22)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)

我很确定这不是 API 调用限制造成的。

//以下函数返回以美元为单位的一般股票代码信息。这包括高、低和音量...

exports.market_data = function(req, res, next){
console.log("test");
options = {
uri: 'http://mtgox.com/api/1/BTCUSD/ticker',
headers: {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/555.55 (KHTML, like Gecko) Chrome/55.5.5555.55 Safari/555.55'
}
};
try {
request(options, function (err, response, body) {
// console.log(body);
APIResponder.respond(res, response);
});
} catch(err) {
console.log(err);
console.log("Gangnam style");
throw err;
}
};

抱歉延迟了,网络中断了。以下是查询 MTGox 的代码。希望这会有所帮助。

最佳答案

我不知道您的 request 功能是什么,但如果它是 http.request 的快捷方式,您应该记住响应是以 block 的形式到达的。您不知道是否可以以与 response 获取 block 相同的速度写入 res,因此您的 APIResponder.respond 应该将响应通过管道传输到 res:res.pipe(response),或者您可以手动处理:

response.on('data',function(data){
var flushed = res.write(data);
if(!flushed) response.pause();
})
res.on('drain',function(){
response.resume();
})

关于api - 请求模块出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14364137/

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