我确实向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会在浏览器中显示结果。
答案 0 :(得分:1)
主机名www.nairabox.com
解析为两个IP号码178.79.175.127和162.255.119.75。后者拒绝连接,这是你正在运行的问题。
但是,主机www.
仅解析为一个IP号码178.79.175.127,因此我猜您应该使用该主机名而不是没有{{1}}前缀的主机名。