Realicé una solicitud de obtención a una API, pero obtuve un error ECONNREFUED. El problema no es la API porque cuando la escribo en un navegador, obtengo resultados en JSON.
Este es mi código;
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); });Este es el error;
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 }Cualquiera puede tener la amabilidad de probarlo reemplazando los parámetros con números aleatorios y obtendría el mismo error. Cómo puedo arreglarlo. Sin embargo, la API da resultados en el navegador.
El nombre de host nairabox.com resuelve en dos números de IP, 178.79.175.127 y 162.255.119.75. Este último está rechazando las conexiones, que es el problema con el que te encuentras.
Sin embargo, el host www.nairabox.com resuelve en un solo número de IP, 178.79.175.127, por lo que supongo que debería usar ese nombre de host en lugar del que no tiene www. prefijo.