gpt4 book ai didi

javascript - nodejs https错误: socket hang up with localhost

转载 作者:IT老高 更新时间:2023-10-28 23:07:55 33 4
gpt4 key购买 nike

我有这个针对托管在 localhost 上的端点的小代码片段

var https = require('https');

var options = {
hostname: 'localhost',
port: 443,
path: '/',
method: 'GET',
agent: false
};

var req = https.request(options, function(res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function(d) {
process.stdout.write(d);
});
});
req.end();

req.on('error', function(e) {
console.error(e);
});

我总是得到错误:

{ [Error: socket hang up] 代码: 'ECONNRESET', sslError: undefined }

似乎端点甚至没有收到请求,因为它没有被它捕获并且没有发生超时。

如果我从浏览器尝试像 https://localhost 这样的请求,它会成功发送。

如果我只是将代码中的主机更改为 encrypted.google.com 之类的内容,它也可以成功运行。

有人知道为什么会发生这种情况吗?

编辑:我也尝试添加浏览器发送的相同 header ,例如接受、用户代理等,但仍然无法正常工作

Edit2:这是我记录时出现的堆栈跟踪:

Error: socket hang up
at SecurePair.error (tls.js:1013:23)
at EncryptedStream.CryptoStream._done (tls.js:705:22)
at CleartextStream.read [as _read] (tls.js:496:24)
at CleartextStream.Readable.read (_stream_readable.js:320:10)
at EncryptedStream.onCryptoStreamFinish (tls.js:301:47)
at EncryptedStream.g (events.js:180:16)
at EncryptedStream.EventEmitter.emit (events.js:117:20)
at finishMaybe (_stream_writable.js:360:12)
at endWritable (_stream_writable.js:367:3)
at EncryptedStream.Writable.end (_stream_writable.js:345:5)

最佳答案

ECONNRESET 表示 TCP 连接意外关闭,即。协议(protocol)中间的某个地方。

但是你写的代码在我看来没问题。

也许你遇到了这个问题https://github.com/joyent/node/issues/5360

TL;DR:您可以尝试使用最新的 Node 版本并将 secureOptions: constants.SSL_OP_NO_TLSv1_2 添加到您的 options

更新 SSLv3 已损坏,https://access.redhat.com/articles/1232123 ;也许放弃国际空间站?

关于javascript - nodejs https错误: socket hang up with localhost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22544975/

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