首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法解决这个问题?

有没有办法解决这个问题?
EN

Stack Overflow用户
提问于 2014-07-12 02:02:06
回答 1查看 560关注 0票数 1

摘要:当我通过gem连接到Litmus时,我得到以下错误:

代码语言:javascript
复制
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: tlsv1 unrecognized name

使用相同的凭据通过curl访问api可以正常工作。

我找到了针对类似错误的解决方案:SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 read server hello A - Faraday::Error::ConnectionFailed

建议更改oauth中的SSL选项:

代码语言:javascript
复制
ssl_options[:version] = :TLSv1

有没有办法为Litmus设置ssl选项?是否有其他可能的解决方法?

下面是完整的跟踪:

代码语言:javascript
复制
2.0.0-p247 :002 > Litmus::Base.new("xxx.litmus.com", "yyy@yyy.com", "zzz", true)
 => #<Litmus::Base:0x007fad4a66dc68> 
2.0.0-p247 :003 > Litmus::EmailTest.list
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: tlsv1 unrecognized name
  from /Users/andrei/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:918:in `connect'
  from /Users/andrei/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:918:in `block in connect'
  from /Users/andrei/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/timeout.rb:52:in `timeout'
  from /Users/andrei/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:918:in `connect'
  from /Users/andrei/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
  from /Users/andrei/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:851:in `start'
  from /Users/andrei/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:1367:in `request'
  from /Users/andrei/.rvm/gems/ruby-2.0.0-p247/gems/httparty-0.13.1/lib/httparty/request.rb:93:in `perform'
  from /Users/andrei/.rvm/gems/ruby-2.0.0-p247/gems/httparty-0.13.1/lib/httparty.rb:521:in `perform_request'
  from /Users/andrei/.rvm/gems/ruby-2.0.0-p247/gems/httparty-0.13.1/lib/httparty.rb:457:in `get'
  from /Users/andrei/.rvm/gems/ruby-2.0.0-p247/gems/litmus-0.3.0/lib/litmus/test.rb:4:in `list'
  from /Users/andrei/.rvm/gems/ruby-2.0.0-p247/gems/litmus-0.3.0/lib/litmus/email_test.rb:4:in `list'
  from (irb):3
  from /Users/andrei/.rvm/rubies/ruby-2.0.0-p247/bin/irb:16:in `<main>'
EN

回答 1

Stack Overflow用户

发布于 2014-07-12 02:29:43

我认为您需要修补base.rb's初始化方法以接受ssl参数,然后向该方法添加类似以下内容:

代码语言:javascript
复制
def initialize(company, username, password, ssl = false, ssl_version)
  protocol = ssl ? 'https' : 'http'
  self.class.base_uri "#{protocol}://#{company}.litmus.com"
  self.class.basic_auth(username, password)
  self.class.ssl_version = ssl_version # <=
end

然后这样叫它:

代码语言:javascript
复制
Litmus::Base.new("xxx.litmus.com", "yyy@yyy.com", "zzz", true, :TLSv1)

希望这会有帮助,我确实注意到你在他们的Github repo中发布了一个相同主题的问题。也许你可以派生并创建一个拉取请求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24703806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档