gpt4 book ai didi

ruby - Mechanize 主机名匹配

转载 作者:太空宇宙 更新时间:2023-11-03 16:18:43 24 4
gpt4 key购买 nike

我正在使用 Mechanize 抓取网站并收到与主机名不匹配相关的错误。我发现问题的根源是我正在抓取的网站上使用了 SNI,我想指定主机名以确保使用正确的证书。

这是我当前的设置:

agent = Mechanize.new
agent.user_agent = custom_user_agent
agent.verify_mode = OpenSSL::SSL::VERIFY_PEER

page = agent.get "website.com"

这是我认为我需要添加的(或类似的内容)以确保使用正确的证书:

OpenSSL::SSL::SSLSocket.hostname = "website.com"

这可以在 Mechanize 中完成,还是我需要弄清楚如何手动指定要使用的证书?

对于上下文,我知道 VERIFY_NONE 解决方案,但考虑到它引入的漏洞,我宁愿避免它。

最佳答案

您不需要指定主机名或使用 Mechanize 检查主机名。

Ruby 的 Net::HTTP 为您处理:

https://github.com/ruby/ruby/blob/trunk/lib/net/http.rb#L928

如果主机名不匹配,将引发 OpenSSL::SSL::SSLError 异常。

关于ruby - Mechanize 主机名匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38426727/

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