0

我正在使用此 API 来使用 ESPN API:

http://api.espn.com/v1/now?apikey=d4skkma8kt2ac8tqbusz38w6

在 Node.js 中,使用node-curl库,我的代码片段如下所示:

var Curl = require('node-curl/lib/Curl')
curl.setopt('URL', url);
curl.setopt('CONNECTTIMEOUT', 2);

curl.on('data', function(chunk) {
   console.log(chunk);
});

但是每次运行此代码时,我都会不断收到以下响应:

<h1>596 Service Not Found</h1>

奇怪的是,如果我从浏览器中点击相同的 URL,我会得到正确的响应,因此 URL 不是无效的。仅当我尝试从 Node.js 调用时才会发生这种情况。谁能指导我如何解决这个错误?我尝试了编码/解码 url,仍然得到相同的响应。

另外基本上我尽可能避免使用任何供应商特定的库,因为我们应该有通用的 api 调用框架

4

1 回答 1

1

您可以使用request,这是一个非常流行的模块。这是一个如何做到这一点的示例:

var request = require('request');

var url = 'http://api.espn.com/v1/now?apikey=d4skkma8kt2ac8tqbusz38w6';

request(url, function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(JSON.parse(body));
  }
});
于 2014-06-03T11:41:23.610 回答