0
当我按照下面列出的方式访问Googles股票api网址时,我得到一个自动文件下载。我的目标是将自动下载的文件内容传输到本地系统上的另一个文件。使用get将文件内容写入另一个文件
var get = require('get');
get('http://www.google.com/finance/historical?q=NASDAQ%3aADBE&startdate=Jan+01%2C+2009&enddate=Aug+2%2C+2012&output=csv').asString(function(err, data) {
var stream = fs.createWriteStream("./public/js/googl.csv");
stream.once('open', function(fd) {
stream.write(data);
stream.end();
});
});
我能够用另一API链路来实现:link
[http://ichart.finance.yahoo.com/table.csv?s=INTC &一个= 6 & B = 10 & C = 2013 & d = 6 & E = 10 & F = 2013]
这两个api链接都做同样的事情,从请求的股票输出一个包含股票数据的csv文件。我的问题是,当我使用谷歌API链接它会引发我一个错误,并说它是'未知'。我试图用console.log(data)记录数据;我也没有得到任何东西。当我删除&输出= csv它的作品,但我收到一串JavaScript,我认为是在实际页面上。我如何获取自动下载的文件的内容并将其存储在我的get函数的数据参数中?
您可以包括你得到完整的错误? – jehna1
它只在浏览到URL时适用于Chrome浏览器,所以很可能,您只需通过欺骗请求标头使您的节点请求看起来更像是Chrome请求。 – dandavis
这是错误消息:_stream_writable.js:268 var len = state.objectMode? 1:chunk.length; ^ 类型错误:在writeOrBuffer无法读取的未定义 属性 '长度'(_stream_writable.js:268:41) 在WriteStream.Writable.write(_stream_writable.js:215:11) –