Ruby Gem Twitter – 证书验证失败(Twitter :: Error :: ClientError)

前端之家收集整理的这篇文章主要介绍了Ruby Gem Twitter – 证书验证失败(Twitter :: Error :: ClientError)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用ruby宝石’twitter’,但由于不明原因,我无法让它工作.

这是.rb代码

require 'twitter'

puts "Greetings,World!"
puts "Checkpoint 1"
Twitter.configure do |config|
  config.consumer_key = "xxxxxxx" #removed for posting
  config.consumer_secret = "xxxxxxx" #removed for posting
  config.oauth_token = "xxxxxxx" #removed for posting
  config.oauth_token_secret = "xxxxxxx" #removed for posting
end
Twitter.verify_credentials
puts "Checkpoint 2"

我收到以下错误

Greetings,World!
Checkpoint 1
C:/Ruby200-x64/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 (Twitter::Error::ClientError)
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:918:in `block in connect'
from C:/Ruby200-x64/lib/ruby/2.0.0/timeout.rb:66:in `timeout'
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:918:in `connect'
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:851:in `start'
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:1367:in `request'
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:1126:in `get'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/adapter/net_http.rb:73:in `perform_request'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/adapter/net_http.rb:38:in `call'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/response.rb:8:in `call'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/response.rb:8:in `call'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/response.rb:8:in `call'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/request/url_encoded.rb:14:in `call'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/request/multipart.rb:13:in `call'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/request/multipart_with_file.rb:14:in `call'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/connection.rb:247:in `run_request'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/connection.rb:100:in `get'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/client.rb:108:in `request'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/client.rb:66:in `get'        
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/api/utils.rb:82:in `object_from_response'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/api/users.rb:50:in `verify_credentials'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter.rb:60:in `method_missing'
from C:/Ruby200-x64/AppCode/twitter_connect.rb:13:in `<main>'

我是一个ruby新手,我无法理解客户端的错误……也许我错过了一些东西.我还确认我的Oauth凭据在python中工作.

在此先感谢,我期待着您的帮助.

解决方法

我能够解决自己的问题.对于那些有相同问题的人,请尝试使用以下内容
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

它禁用SSL安全性,但它允许您处理故障排除.根本问题是过时的SSL.

猜你在找的Ruby相关文章