【发布时间】:2017-07-29 12:34:08
【问题描述】:
我在尝试做一些对我来说是新的事情时有点不知所措。我正在构建一个 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)
};
【问题讨论】:
-
您确定
url是您需要传递给get方法的正确属性名称吗?由于错误消息是127.0.0.1听起来您没有正确传递 URL,我认为https.get采用与https.request相同的参数,后者采用单独的host或hostname和path参数. -
位于localhost地址
127.0.0.1:443的数据库是否正在运行?例如,如果数据库不在本地运行,Mongo 会抛出类似的错误。
标签: node.js get aws-lambda http-request