0

我正在为我的项目使用Node.js,我在想雅虎财务向服务器机器和“普通”机器发送的东西是否有区别。Yahoo Finance向服务器发送错误的汇率

var http = require('http'); 
    var link = "http://download.finance.yahoo.com/d/quotes?s=" + fromCurrency + toCurrency + "%3DX&f=l1n"; 
    http.request(link, 
     function (response) 
     { 
      var str = ''; 
      response.on('data', function (chunk) { 
       str += chunk;}); 
      response.on('end', function() { 
       var rate = parseRate(str); 
       console.log(rate); 
       callback(sender, convert(howMuch, rate, fromCurrency, toCurrency)); 
      }); 
     }).end(); 

这是我的代码。 当我在笔记本电脑上运行此功能时,它会返回正确的费率。但有趣的是,当我在服务器上运行它时,它会发送一些货币的错误数据。例如,如果您尝试加元至美元,则会说1加元等于95.88美元。 Aggrr!

我想知道 - 也许我错过了什么?你能帮我吗?

回答

0

我想您所呼叫的错误web服务,尝试:

VAR链接=“https://query.yahooapis.com/v1/public/yql?q=select%20 *%20from%20yahoo.finance.xchange%20where%20pair%20%3D%20%22USDCAD%22 &格式= JSON & ENV =卖场%3A%2F%2Fdatatables.org%2Falltableswithkeys &回调=”

这里测试它:YQL console

+0

嘿。结果相同。看看我收到的回复{“query”:{“count”:2,“created”:“2016-04-25T13:32:27Z”,“lang”:“en-US”,“results”:{“利率“:[{”id“:”CAD“,”姓名“:”PIMCO加拿大债券指数交易所“,”利率“:”95.879“,”日期“:”9/25/2014“,”时间“下午4:00”, “向”: “N/A”, “出价”: “N/A”},{ “id为”: “USD = X”, “名称”: “USD/USD”, “费率” :“1.0000”,“Date”:“1/29/2016”,“Time”:“8:25 am”,“Ask”:“1.0000”,“Bid”:“1.0000”}]}}} – Jan

+0

我的意思是 - 当我手动请求结果时,我收到正确答案。问题在别的地方。 – Jan