ECONNREFUSED,节点HTTP GET请求

时间:2017-03-08 19:07:19

标签: node.js get aws-lambda http-request

我有点想要做一些对我来说不熟悉的事情。我正在构建一个API,使用Node和AWS Lambda与Nationbuilder网站进行交互。我需要使用Nationbuilder的API从数据库中提取信息。我在我的代码中尝试了很多变化,这是我最近的精简尝试。它返回“错误:连接ECONNREFUSED 127.0.0.1:443”。有谁看到我应该采取不同的做法?我用******替换了访问令牌。导出处理函数几乎没有被使用;它与Lambda处理请求的主要功能相关联,而不是制作它们。

我可以通过hurl.it成功发出GET请求,所以问题出现在我的最后。

var package = require('./package.json');
var myNewApi = require('./lib/my_new_api.js');
var http = require("http");
var https = require("https");

var https = require('https');
var str = '';
var url = "https://neenahrockets.nationbuilder.com/api/v1/people/count?access_token=**************";

exports.handler = function (event, context) {
    callback = function(response) {
      response.on('data', function (chunk) {
        str += chunk;
      });
      response.on('end', function () {
        console.log(req.data);
        console.log(str);
      });
    }

    var options = {
        url : url,
        method: "GET",
        json: true,
        headers: {
            "content-type": "application/json",
        },
    }

    var req = https.get(options, callback)

};

1 个答案:

答案 0 :(得分:1)

感谢Mark B抓住了URL属性的问题。这是为我工作的代码。我在http请求标题中添加了一个小的更改。

var package = require('./package.json');
var myNewApi = require('./lib/my_new_api.js');
var http = require("http");
var https = require("https");    

var str = '';

exports.handler = function (event, context) {
    callback = function(response) {    

      response.on('data', function (chunk) {
        str += chunk;
      });

      response.on('end', function () {
        console.log(req.data);
        console.log(str);

      });
    }

    var options = {
        host : 'neenahrockets.nationbuilder.com',
        path:  '/api/v1/people/count?access_token=*********',
        json: true,
        headers: {
            "content-type": "application/json",
            "accept": "application/json"
        },
    }

 var req = https.get(options, callback)

};