gpt4 book ai didi

javascript - Nodejs 错误 : Protocol "http:" not supported. 预期 "https:"

转载 作者:搜寻专家 更新时间:2023-11-01 00:01:23 27 4
gpt4 key购买 nike

我正在使用 node.js 的请求模块,但有时我会收到 Uncaught Error (仅在生产中,可能在 node.js 更新之后)

Node 版本:0.12.4,请求版本:2.55.0

1000-2000 个请求可以成功执行,但随后出现这样的错误:

Error: Protocol "http:" not supported. Expected "https:".
at new ClientRequest (_http_client.js:75:11)
at Object.exports.request (http.js:49:10)
at Request.start (/path/node_modules/request/request.js:963:30)
at Request.end (/path/node_modules/request/request.js:1531:10)
at end (/path/node_modules/request/request.js:734:14)
at Immediate._onImmediate (/path/node_modules/request/request.js:748:7)
at processImmediate [as _immediateCallback] (timers.js:358:17)"

我该如何解决?为什么会出现?谢谢)

最佳答案

这是由于使用 SSL 运行您的应用程序但通过普通 HTTP 调用它造成的。您需要进行检查以确定客户端使用的是 HTTP 还是 HTTPS,然后修改您的代码以适应。

像这样的东西应该可以工作:

var express = require('express')
, http = require('http')
, https = require('https')
, app = express();

http.createServer(app);
https.createServer({ ... }, app);

然后当你处理你的请求时,做类似的事情

app.get('/your-route', function(req, res) {
if (req.secure) {
var req = https.get(url, function(res) { ... });
} else {
var req = http.get(url, function(res) { ... });
}
});

req.secure 标识连接是否安全。请注意我们如何根据连接类型使用 httpshttp

关于javascript - Nodejs 错误 : Protocol "http:" not supported. 预期 "https:",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30503420/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com