使用ESPN API时找不到服务



我正在使用这个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调用框架

您可以使用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));
  }
});

最新更新