Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – AWS Lambda中的HTTP请求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我是新来的Lambdas,所以也许有一些我还没有抓到,但我写了一个简单的Lambda函数来做一个外部网站的http请求.由于某种原因,无论我使用Node的http还是https模块,都会得到一个ECONNREFUSED.

这是我的Lambda:

var http = require('http');

exports.handler = function (event,context) {
    http.get('www.google.com',function (result) {
        console.log('success,with: ' + result.statusCodE);
        context.done(null);
    }).on('error',function (err) {
        console.log('Error,with: ' + err.messagE);
        context.done("Failed");
    });
};

这是日志输出

START requestId: request hash
2015-08-04T14:57:56.744Z    request hash                Error,with: connect ECONNREFUSED
2015-08-04T14:57:56.744Z    request hash                {"errormessage":"Failed"}
END requestId: request hash

是否有角色许可我需要做http请求? Lambda是否允许普通的旧http请求?有需要设置的特殊标题吗?

任何指导都不胜感激.

解决方法

解决了自己的问题.

显然,如果您决定将uRL作为第一个参数提供给.get(),则必须包括http://的前端,例如http://www.google.com.

var http = require('http');

exports.handler = function (event,context) {
  http.get('http://www.google.com',function (result) {
    console.log('success,with: ' + result.statusCodE);
    context.done(null);
  }).on('error',function (err) {
    console.log('Error,with: ' + err.messagE);
    context.done("Failed");
  });
};

或者,您可以将第一个参数指定为hash of options,其中hostname可以是URL的简单形式.例:

var http = require('http');

exports.handler = function (event,context) {
  var getConfig = {
    hostname: 'www.google.com'
  };
  http.get(getConfig,with: ' + err.messagE);
    context.done("Failed");
  });
};

大佬总结

以上是大佬教程为你收集整理的node.js – AWS Lambda中的HTTP请求全部内容,希望文章能够帮你解决node.js – AWS Lambda中的HTTP请求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。