Подтвердить что ты не робот

Node.js Ошибка: подключайте ECONNREFUSED при использовании http.request

Я пытаюсь устранить неисправность Node.js script и вырезал почти весь код и все еще могу воспроизвести следующую ошибку:

{ 
  [Error: connect ECONNREFUSED]
  stack: 'Error: connect ECONNREFUSED 
          at exports._errnoException (util.js:682:11) 
          at Object.afterConnect [as oncomplete] (net.js:947:19)',
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' 
}

Весь script:

var http = require('http');

http.get("http://api.hostip.info/get_json.php", function(res) {
    console.log("Received response: " + res.statusCode);
});

var req = http.request(function(res) {
    console.log("Request began");
    var output = '';

    res.on('data', function (chunk) {
        output += chunk;
    });

    res.on('end', function () {
        console.log('Request complete:');
        console.log(output);
    });
});

req.on('error', function (err) {
    console.log(err);
    //console.log('error: ' + err.message);
});

req.end();
console.log("Script complete");

Я уверен, что это простая ошибка где-то в коде, но не удалось определить проблему?

4b9b3361

Ответ 1

Вы не указали URL-адрес в http.request.

Попробуйте var req = http.request("someurlhere", function(res) {... и т.д.

Кроме того, если вы используете http.request вроде этого, я не могу полностью увидеть цель следующего блока кода (возможно, остатки из оставшейся части завершенной script?)

http.get("http://api.hostip.info/get_json.php", function(res) {
    console.log("Received response: " + res.statusCode);
});

Ответ 2

Этот вопрос стал популярным, поэтому я хочу указать вам на популярную библиотеку NodeJS, которая требует много запросов.

Это мой выбор, потому что он использует тот же синтаксис, что и в браузерах fetch API. Так что использование одного и того же синтаксиса всегда лучше.

Он также использует новый синтаксис обещаний, поэтому вы можете использовать async/await

var fetch=require('node-fetch')
var data=await fetch(url);
var text=await data.text()

Узнайте больше: