2013-06-12 8 views
6

Я пытаюсь использовать «rubter» ruby ​​gem, но по неизвестным причинам я не могу заставить его работать.Ruby Gem Twitter - проверка сертификата не удалась (Twitter :: Ошибка :: ClientError)

Вот код .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>' 

Я рубин новичок, и я не могу понять смысл ошибки клиента ... возможно Я чего-то не хватает. Я также подтвердил, что мои учетные данные Oauth работают на python.

Спасибо заранее, и я с нетерпением жду вашей помощи.

ответ

9

Я смог решить свой вопрос. Для тех, кто имеет тот же вопрос попробуйте следующее:

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE 

Это отключает безопасность SSL, но он позволяет обрабатывать с устранением неполадок. Основная проблема - устаревший SSL.

+1

Это заставляет ошибку уходить, но вы действительно не должны этого делать. Http://jamesgolick.com/2011/2/15/verify-none..html – jordelver

1

Я тоже новичок в рубине, но вы используете Mac? Это может быть из-за устаревших файлов сертификатов SSL. Вот ссылка на инструкции, которые решили проблему для меня. http://railsapps.github.io/openssl-certificate-verify-failed.html

+0

Я использую Windows 7. Мне не повезло со ссылкой, и я подтвердил, что мои переменные пути установлены. Я также удалил ruby ​​2.0 и установил ruby ​​1.93, и я столкнулся с той же проблемой. У меня есть tweetstream и работает. ПОМОГИТЕ! – tjrburgess

Смежные вопросы