我在Windows 7正常操作系统上运行。
Ruby,SSL和Windows不喜欢彼此,所以像这些简单的命令不适合我,这给我一个真正的头痛。 我尝试过获得RVM,更新我的环境variables,几乎所有的东西。
我不知道解决scheme是什么。 有没有解决scheme来安装Ruby 1.9.3的OpenSSL gem?
require 'mechanize' agent = Mechanize.new page = agent.get('https://any-ssl-site-here.com') puts page
因此,无论何时您尝试使用库来访问Windows上的https
url,它们基本上都会失败,因为OpenSSL不知道在哪里查找ca_file
。
修复非常简单,获得一个CA Cert Bundle(我最喜欢的是cURL的CA Bundle )并指定要使用的库。
在mechanize
的情况下,他们使用#ca_file
实例方法进行 。
换句话说,将您的代码更改为:
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对类似问题的答案 。