2013-07-26 166 views
0

消費者令牌哈希在我的代碼中定義SSL錯誤的Twitter請求

access_token = OAuth::AccessToken.from_hash(consumer, token_hash) 
url = URI.encode("https://api.twitter.com/1.1/statuses/update.json?status=awesome!") 
response = access_token.request(:post, url) 

它給我們

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 
    from /usr/lib/ruby/1.8/net/http.rb:586:in `connect' 
    from /usr/lib/ruby/1.8/net/http.rb:586:in `connect' 
    from /usr/lib/ruby/1.8/net/http.rb:553:in `do_start' 
    from /usr/lib/ruby/1.8/net/http.rb:542:in `start' 
    from /usr/lib/ruby/1.8/net/http.rb:1035:in `__request__' 
    from /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.7/lib/restclient/net_http_ext.rb:51:in `request' 
    from /usr/lib/ruby/gems/1.8/gems/oauth-0.4.7/lib/oauth/consumer.rb:161:in `request' 
    from /usr/lib/ruby/gems/1.8/gems/oauth-0.4.7/lib/oauth/tokens/consumer_token.rb:25:in `request' 
    from /usr/lib/ruby/gems/1.8/gems/oauth-0.4.7/lib/oauth/tokens/access_token.rb:12:in `request' 

請幫我

回答

0

我有同樣的錯誤。我仍然無法解決潛在的問題,但嘗試將其粘貼到您的.rb文件中。

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

它基本上關閉驗證步驟。

+0

這究竟在哪裏呢?我使用黃瓜oauth寶石,不知道如何實現這個 – Richlewis

+0

**這條線必須在你打電話給第三方服務器之前。**要求'rubygems' 要求'twitter' 要求'mongo' 要求'date' require'time' time = Time.new print「start_timestamp:#{time.strftime(」%Y-%m-%d%H:%M:%S「)} \ n」 #print「 \ nInit Security Disable \ n「 OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE print」\ n連接到Mongo \ n「 – tjrburgess

1

使用最新的RVM(Ruby版本管理器)通過使用Ruby on Rail框架修復第三方應用程序集成。

欲瞭解更多信息使用步驟由這裏步驟指南 - OpenSSL Errors and Rails Certificate Verify Failed

希望它能幫助!

+1

您不需要RVM來安裝證書,但這是一個更好的方法關閉所有驗證 – MatthewFord