gpt4 book ai didi

node.js - Nodejs - "Sending https request to the same domain multiple times"每次都无法获得 SSL 证书

转载 作者:太空宇宙 更新时间:2023-11-03 14:41:20 25 4
gpt4 key购买 nike

我正在尝试获取 URL 的 SSL 详细信息,它在请求多个唯一主机时有效。

然而,当请求同一主机时,出于某种原因,只有第一个请求的证书返回,而其他请求则不返回。

感觉有缓存/session保持SSL握手不执行

这是复制它的代码:

var request       = require('request')

var r = request({
url: 'https://google.com/',
method: 'HEAD',
gzip: true,
followRedirect: false,
followAllRedirects: false
});

r.on('response', function(res) {
certDetails = (res.req.connection.getPeerCertificate())
console.log('*********1st Request**********');
console.log(certDetails);
})



setTimeout (function() {
var r = request({
url: 'https://google.com/',
method: 'HEAD',
gzip: true,
followRedirect: false,
followAllRedirects: false
});

r.on('response', function(res) {
certDetails = (res.req.connection.getPeerCertificate()) // works
console.log('*********2nd Request**********');
console.log(certDetails);
})
}, 5000)

第二个请求在 5 秒后发送到同一主机,但未能获取证书详细信息。

但是,如果我们将第一个主机保留为 google.com,将第二个主机保留为 yahoo.com,则两者都会被检索(因为它们是唯一的并且可能未被缓存)。

最佳答案

好的,找到答案了。

可以通过以下方式发送请求:

agent: new Agent({
maxCachedSessions: 0
}),

这样它们就不会被缓存。

关于node.js - Nodejs - "Sending https request to the same domain multiple times"每次都无法获得 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42931201/

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