0

プロジェクトに Node.js を使用していますが、Yahoo ファイナンスがサーバー マシンに送信するものと「通常の」マシンに送信するものに違いがあるのではないかと考えています。

 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();

これは私のコードです。これをラップトップで実行すると、正しいレートが返されます。しかし興味深いのは、これをサーバーで実行すると、一部の通貨に対して間違ったデータが送信されることです。たとえば、CAD から USD を試すと、1 cad は 95.88 USD と表示されます。アグル!

私は疑問に思っています-多分私は何かを逃しましたか?手伝ってくれますか?

4

1 に答える 1

0

間違った Web サービスを呼び出していると思います。試してください:

var link = " https://query.yahooapis.com/v1/public/yql?q=select%20 *%20from%20yahoo.finance.xchange%20where%20pair%20%3D%20%22USDCAD%22&format=json&env =store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback="

ここでテストします: YQL コンソール

于 2016-04-25T13:08:50.697 に答える