gpt4 book ai didi

ruby - 为什么我只在 Windows 上收到 OpenSSL::SSL::SSLError?

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

我正在从 HTTPS 网站下载文件。我已将问题缩小为:

>> require 'open-uri'
>> open('https://www.gmail.com/') # just as an example
C:/Ruby/lib/ruby/1.8/net/http.rb:586:in `connect': certificate verify failed (OpenSSL::SSL::SSLError)
from C:/Ruby/lib/ruby/1.8/net/http.rb:586:in `connect'
from C:/Ruby/lib/ruby/1.8/net/http.rb:553:in `do_start'
from C:/Ruby/lib/ruby/1.8/net/http.rb:542:in `start'
from C:/Ruby/lib/ruby/1.8/open-uri.rb:242:in `open_http'
from C:/Ruby/lib/ruby/1.8/open-uri.rb:616:in `buffer_open'
from C:/Ruby/lib/ruby/1.8/open-uri.rb:164:in `open_loop'
from C:/Ruby/lib/ruby/1.8/open-uri.rb:162:in `catch'
from C:/Ruby/lib/ruby/1.8/open-uri.rb:162:in `open_loop'
from C:/Ruby/lib/ruby/1.8/open-uri.rb:132:in `open_uri'
from C:/Ruby/lib/ruby/1.8/open-uri.rb:518:in `open'
from C:/Ruby/lib/ruby/1.8/open-uri.rb:30:in `open'
from openuri_sandbox.rb:3

此代码在 Mac OS X 或 Linux 上工作得很好,但它只是在 Windows 上开始失败。我已经在几个 Win XP 安装和一个 Win 7 安装上进行了测试——它们都失败了。他们都在运行 Ruby 1.8.6 补丁级别 287。这是怎么回事?我们知道我们可以关闭 SSL 验证并且它有效(或者至少看起来有效),但这似乎是一个糟糕的解决方案。

我正在使用 Mechanize 与相关网站进行交互,因此我希望能够继续使用它。

更新:看起来 Mechanize 的问题可能是 Windows 7 特有的,这与我之前认为的不同。不过,它在几周前才起作用。

更新 2:这在 Windows(XP 和 7)上仍然发生,但在 Linux 上不会发生。这不再是我工作所需的重要脚本中的问题,但仍不确定原因。

最佳答案

似乎是因为 ruby​​ 不附带证书? http://betterlogic.com/roger/2011/08/github-jruby-ssl-woe/

关于ruby - 为什么我只在 Windows 上收到 OpenSSL::SSL::SSLError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2791722/

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