ruby-on-rails - 尝试抓取网站时出现 Ruby SSL 错误

标签 ruby-on-rails ruby ssl openssl rubygems

<分区>

所以,基本上我正在尝试运行这个脚本 https://github.com/JeffreyATW/mbfc_crawler它给了我这个错误:

C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:933:in `connect_nonblock': SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 read server hello A (OpenSSL::SSL::SSLError)
    from C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:933:in `connect'
    from C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:863:in `do_start'
    from C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:858:in `start'
    from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/net-http-persistent-2.9.4/lib/net/http/persistent.rb:700:in `start'
    from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/net-http-persistent-2.9.4/lib/net/http/persistent.rb:631:in `connection_for'
    from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/net-http-persistent-2.9.4/lib/net/http/persistent.rb:994:in `request'
    from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/mechanize-2.7.5/lib/mechanize/http/agent.rb:274:in `fetch'
    from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/mechanize-2.7.5/lib/mechanize.rb:464:in `get'
    from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/wombat-2.5.1/lib/wombat/processing/parser.rb:61:in `public_send'
    from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/wombat-2.5.1/lib/wombat/processing/parser.rb:61:in `parser_for'
    from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/wombat-2.5.1/lib/wombat/processing/parser.rb:44:in `parse'
    from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/wombat-2.5.1/lib/wombat/crawler.rb:30:in `crawl'
    from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/wombat-2.5.1/lib/wombat.rb:13:in `crawl'
    from crawler.rb:21:in `block in <main>'
    from crawler.rb:20:in `each'

我已经从 Ruby Installer for Windows 安装了 Ruby 2.3.3 .

我还为我的机器安装了 DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe(来自同一站点)。

我做错了什么?感谢您的宝贵时间。

最佳答案

也许它需要一个 CA 证书。

从这里将其保存在您的 m/c 中:https://curl.haxx.se/ca/cacert.pem

并使用以下命令设置它的路径:

setx SSL_CERT_FILE path_where_you_have_placed_above_file

关于ruby-on-rails - 尝试抓取网站时出现 Ruby SSL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41791859/

上一篇:php - OpenSSL 已启用但无法找到包装器 "ssl"

下一篇:java - http GET 失败,出现错误 javax.net.ssl.SSLHandshakeException : sun. security.validator.ValidatorException:PKIX 路径构建失败

相关文章:

ruby-on-rails - 购物车内容缺失 Paypal Express Checkout 上未显示交易详情

ruby-on-rails - ActiveRecord 关闭时如何进行单元测试?

ruby-on-rails - RVM、Ruby 1.9.2、Rails 2.3.8、Passenger 和 "invalid byte sequence in US-ASCII"

ruby - Chef,强制创建后文件不存在

ruby - 学习数据结构和算法的书籍/方法?

ruby-on-rails - ruby on rails 中的路由问题

c# - 无法从 android studio 项目连接到 localhost webapi

ruby-on-rails - 在 Ruby on Rails 中复制父记录和关联子记录的最佳方法?

Python 使用 ssl.getpeercert() 从 URL 获取通用名称

ssl - 安装然后删除 SSL 证书 - 现在出现 fatal error : Call to a member function isLogged() on null