我正在尝试使用 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);
});
}