node.js - Azure 网站 node.js http 请求失败

标签 node.js azure

我正在使用 node.js 和 git 部署尝试 Azure 网站的免费层。它非常流畅,但我试图在我的一个处理程序中对 Facebook 进行 Web 服务调用,但失败并出现 500 内部服务器错误和以下堆栈跟踪:

Application has thrown an uncaught exception and is terminated:
Error: connect EADDRNOTAVAIL
at errnoException (net.js:670:11)
at connect (net.js:548:19)
at Socket.connect (net.js:613:5)
at Object.<anonymous> (net.js:77:12)
at new ClientRequest (http.js:1091:25)
at Object.request (http.js:1427:10)
at Object.get (http.js:1432:21)

该代码在本地运行时工作正常。这是 Azure 网站的限制,还是有其他方法可以实现此目的?我的代码如下所示(我使用的是express):

app.get('/login', function (req, res) {
  var tokenUrl = 'http://foo.com';
  var body = '';
  http.get(tokenUrl, function (tokenRes) {
    tokenRes.on('data', function (chunk) {
      body += chunk;
    }).on('end', function () {
      res.end(body);
    });
  }).on('error', function (err) {
    console.log('Error fetching site: ' + err.message);
  });
}

最佳答案

所以我遇到了完全相同的问题,但是调用 https.get() 时。从 https.get() 切换到 https.request() 解决了我的问题。鉴于 http.get() 在本地对我来说工作得很好,这似乎有点疯狂。我害怕知道这里发生了什么:(

关于node.js - Azure 网站 node.js http 请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12659817/

相关文章:

azure - ARM 模板 - 'Template parameter JToken type is not valid. Expected ' 字符串,Uri'。实际 'Object'

php - 在 Azure 中创建 blob 时遇到的问题

node.js - express 和 jade,忽略渲染错误

node.js - 需要用于 mime 多部分/相关的 node.js 模块

javascript - 如何重命名mongodb中整个集合中的一个元素名称

c# - 无法使用站点间连接从 Azure VM 连接 Azure SQL

.net - 安排 Azure 媒体服务中的实时流媒体 channel 在特定时间以编程方式启动

javascript - htmlparser2 将 xml 对象转换为字符串

node.js - 未处理的 promise 拒绝警告 : MongooseServerSelectionError: connect ECONNREFUSED 127. 0.0.1:27017

python - 将 python-docx 文档上传到 Azure blob 存储