ECONNRREFUSED使用Nodejs向API发出get请求时出错

时间:2017-04-29 11:15:43

标签: node.js

我确实向API发出了get请求但得到了ECONNREFUSED错误。问题不在于API,因为当我在浏览器中输入它时,我会以JSON的形式返回结果。

这是我的代码;

var https = require("https");

var options = {
    host :  'nairabox.com',
    port : 443,
    path : '/v1/tickets/auth=APIKEY&as=showtimes&cinemaId=CINEMAID&ticketId=TICKETID',
    method : 'GET'
}


var req = https.request(options, function(res) {
  res.on('data', function(data) {
      console.log( JSON.parse(data));
  });
});

req.end();

req.on('error', function(err){
    console.log("Error: ", err);
}); 

这是错误;

Error:  { Error: connect ECONNREFUSED 162.255.119.75:443
    at Object.exports._errnoException (util.js:1022:11)
    at exports._exceptionWithHostPort (util.js:1045:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1087:14)
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect',
  address: '162.255.119.75',
  port: 443 }

任何人都可以亲切地测试它用随机数替换参数,你会得到同样的错误。我该如何解决呢? API会在浏览器中显示结果。

1 个答案:

答案 0 :(得分:1)

主机名www.nairabox.com解析为两个IP号码178.79.175.127和162.255.119.75。后者拒绝连接,这是你正在运行的问题。

但是,主机www.仅解析为一个IP号码178.79.175.127,因此我猜您应该使用该主机名而不是没有{{1}}前缀的主机名。