【问题标题】:OpenSSL::SSL::SSLError in Ruby 1.9 and 2.0 using MechanizeRuby 1.9 和 2.0 中的 OpenSSL::SSL::SSLError 使用 Mechanize
【发布时间】:2014-05-08 07:19:52
【问题描述】:

我遇到了问题但不知道如何解决?

1.9.3

.rvm/gems/ruby-1.9.3-p484/gems/pry-0.9.12.6/lib/pry/pry_class.rb:258: warning: Insecure world writable dir .rvm/gems in PATH, mode 040777
.rvm/gems/ruby-1.9.3-p484/gems/net-http-persistent-2.9.4/lib/net/http/persistent/ssl_reuse.rb:70:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)
from .rvm/gems/ruby-1.9.3-p484/gems/net-http-persistent-2.9.4/lib/net/http/persistent/ssl_reuse.rb:70:in `block in connect'
from .rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/timeout.rb:55:in `timeout'
from .rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/timeout.rb:100:in `timeout'

2.0

.rvm/gems/ruby-2.0.0-p353/gems/pry-0.9.12.3/lib/pry/pry_class.rb:259: warning: Insecure world writable dir .rvm/gems/ruby-2.0.0-p353/bin in PATH, mode 040777
.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/http.rb:918:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)
from .rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/http.rb:918:in `block in connect'
from .rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/timeout.rb:52:in `timeout'
from .rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/http.rb:918:in `connect'
from .rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
from .rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/http.rb:857:in `start'
from .rvm/gems/ruby-2.0.0-p353/gems/net-http-persistent-2.9.4/lib/net/http/persistent.rb:700:in `start'
from .rvm/gems/ruby-2.0.0-p353/gems/net-http-persistent-2.9.4/lib/net/http/persistent.rb:631:in `connection_for'
from .rvm/gems/ruby-2.0.0-p353/gems/net-http-persistent-2.9.4/lib/net/http/persistent.rb:994:in `request'
from .rvm/gems/ruby-2.0.0-p353/gems/mechanize-2.7.3/lib/mechanize/http/agent.rb:259:in `fetch'
from .rvm/gems/ruby-2.0.0-p353/gems/mechanize-2.7.3/lib/mechanize.rb:440:in `get'
from course_3.rb:76:in `<main>'

【问题讨论】:

    标签: ruby macos ssl mechanize


    【解决方案1】:

    我通过a = Mechanize.new{|a| a.ssl_version, a.verify_mode = 'SSLv3', OpenSSL::SSL::VERIFY_NONE} 解决了它 因为我需要使用 Mechanize 访问https URL

    【讨论】:

    • 你没有修复它,你解决了它。除非您只是因为没有其他东西而使用 https 并且您不关心安全性,否则您永远不应该关闭证书检查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 2014-08-31
    • 2019-05-28
    • 2014-06-17
    • 1970-01-01
    • 2013-01-06
    • 2012-08-30
    相关资源
    最近更新 更多