【发布时间】:2020-09-04 05:10:01
【问题描述】:
所以我现在正在使用 firebase 一段时间,我已经阅读了一些其他主题,这确实意味着您必须升级到付费计划。 但是,我在本地使用 http 并且效果很好。在服务器上它不起作用并抛出: 错误:getaddrinfo EAI_AGAIN site.com:443
我没有提出外部请求,我唯一能想到的是它在云功能和 Firebase 托管之外?这算不算外挂? 我只是在 Firebase 的托管端调用/请求页面。没有任何外部页面。
是什么导致服务器出现此错误,建议的修复方法是什么?
此代码示例来自云函数的Node.js:main。
var client = http;
client = (req.secure) ? https:client;
// console.log(client)
// const http = new XMLHttpRequest();
function httpRequest(params, postData) {
return new Promise(function(resolve, reject) {
console.log('params' + params)
var req = client.request(params, function(res) {
// reject on bad status
if (res.statusCode < 200 || res.statusCode >= 300) {
return reject(new Error('statusCode=' + res.statusCode));
}
// cumulate data
var body = [];
res.on('data', function(chunk) {
body.push(chunk);
});
// resolve on end
res.on('end', function() {
try {
body = Buffer.concat(body).toString();
} catch(e) {
reject(e);
}
resolve(body);
});
});
// reject on request error
req.on('error', function(err) {
// This is not a "Second reject", just a different sort of failure
reject(err);
});
if (postData) {
req.write(postData);
}
// IMPORTANT
req.end();
});
}
【问题讨论】:
-
我不能给你一个公开的支持,因为我没有要求的 15 分...
标签: node.js firebase google-cloud-functions