在Windows 7上打开Ruby的SSL错误

时间:2015-08-07 00:40:51

标签: ruby windows ssl gem mechanize

我在Windows 7普通操作系统上运行。

Ruby,SSL和Windows彼此不喜欢,所以这些简单的命令对我不起作用,它让我真正头疼。我尝试过RVM,更新我的环境变量,几乎所有东西。

我不知道解决方案是什么。有没有为Ruby 1.9.3安装OpenSSL gem的解决方案?

require 'mechanize'
agent = Mechanize.new
page = agent.get('https://any-ssl-site-here.com')
puts page

1 个答案:

答案 0 :(得分:0)

因此,每当您尝试使用库访问Windows上的https网址时,它们基本上都会失败,因为OpenSSL不知道在哪里查找ca_file

修复非常简单,获得一个CA Cert Bundle(我最喜欢的是cURL's CA Bundle)并指出你要使用的任何库。

如果是mechanize,他们会使用#ca_file instance method

换句话说,将您的代码更改为:

require 'mechanize'
agent = Mechanize.new
agent.ca_file = "path/to/ca_bundle.crt"

page = agent.get('https://any-ssl-site-here.com')
puts page

另外,请查看Luis Lavena's execellent answer to a similar question