2013-07-26 91 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