Nodejs事件错误Express

时间:2018-01-12 17:36:34

标签: node.js express

我在快递中有这个代码。

var express = require('express');
var http = require("http");
var https = require("https");
var app = express();

var optionsSB = {
     host: 'domain.com',
     path: '/wp-content/themes/domain/includes/ajax/get_properties.php'
};

var optionsLV = {
    host: 'apiproperties.local',
    path: '/properties/storeSB',
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    }
};

https.get(optionsSB, function (https_res) {
    var dataSB = "";
    https_res.on("data", function (chunkSB) {
       dataSB += chunkSB;
    });
    https_res.on("end", function () {
        http.request(optionsLV, function(http_res){
            var dataVL = "";
            http_res.on("data", function (chunkVL) {
                dataVL += chunkVL;
            });
            http_res.on("end", function () {
                console.log(dataVL);
            });
        });
    });
});

app.listen(3000, function () {});

我收到此错误

events.js:183
  throw er; // Unhandled 'error' event
  ^

Error: connect ECONNREFUSED 127.0.0.1:80
    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1182:14)

我已经尝试了一些东西,但我不知道问题是什么,问候。 我按照教程中的一些说明进行操作,并且所有工作正常,但我不明白这个错误。

1 个答案:

答案 0 :(得分:0)

如果您在使用https.get()设置请求时出错,则会抛出这样的内容,但您没有任何错误处理程序来捕获错误。您可以提供错误处理程序:

https.get(...).on('error', function(err) {
    // error here
    console.log(err);
});

看来特定错误是ECONNREFUSED。可能是目的地不接受您的https连接,或者它可能与您传递选项的方式不同。由于您拥有的只是主机和路径,因此您也可以使用URL:

https.get("https://somedomain.com//wp-content/themes/domain/includes/ajax/get_properties.php", ...);