在rails环境中,从.NET调用.NET :: HTTP调用失败

时间:2014-02-21 01:18:00

标签: ruby-on-rails ruby ssl

我有一些代码可以在Net::HTTP之外进行一些https次调用此代码在irb

中使用时效果很好

然而,当从railsrails console使用时,我收到错误:

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
from /Users/kevzettler/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/net/http.rb:918:in `connect'

1 个答案:

答案 0 :(得分:0)

我通过手动传递SSL验证来避免此问题,如下面的代码。

  uri = URI(@url)
  req = Net::HTTP::Get.new(uri.path)

  response = Net::HTTP.start(
    uri.host, uri.port, 
    :use_ssl => uri.scheme == 'https', 
    :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https|
      https.request(req)
    end

引自此处:https://github.com/matsubo/web_update_checker/blob/master/lib/web_update_checker.rb#L44