【问题标题】:Ruby and SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 [duplicate]Ruby 和 SSL_connect SYSCALL 返回=5 errno=0 state=SSLv2/v3 [重复]
【发布时间】:2017-02-09 07:54:59
【问题描述】:

在 ubuntu 上正常工作的 Windows 上遇到此错误尝试了许多解决方案,但对我没有任何效果。请不要将此标记为重复。

    from C:/Ruby22-x64/lib/ruby/2.2.0/net/http.rb:923:in `block in connect'
    from C:/Ruby22-x64/lib/ruby/2.2.0/timeout.rb:73:in `timeout'
    from C:/Ruby22-x64/lib/ruby/2.2.0/net/http.rb:923:in `connect'
    from C:/Ruby22-x64/lib/ruby/2.2.0/net/http.rb:863:in `do_start'
    from C:/Ruby22-x64/lib/ruby/2.2.0/net/http.rb:852:in `start'
    from C:/Ruby22-x64/lib/ruby/2.2.0/net/http.rb:1375:in `request'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/faraday-0.10.0/lib/faraday/adapter/net_http.rb:83:in `perform_request'
    from C:/Ruby22x64/lib/ruby/gems/2.2.0/gems/faraday0.10.0/lib/faraday/adapter/net_http.rb:41:in `block in call'
    from C:/Ruby_22x64/lib/ruby/gems/2.2.0/gems/faraday0.10.0/lib/faraday/adapter/net_http.rb:88:in `with_net_http_connection'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/faraday-0.10.0/lib/faraday/adapter/net_http.rb:33:in `call'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/faraday-0.10.0/lib/faraday/request/url_encoded.rb:15:in `call'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/faraday-0.10.0/lib/faraday/rack_builder.rb:139:in `build_response'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/faraday-0.10.0/lib/faraday/connection.rb:377:in `run_request'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/faraday-0.10.0/lib/faraday/connection.rb:177:in `post'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/signet-0.7.3/lib/signet/oauth_2/client.rb:960:in `fetch_access_token'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/signet-0.7.3/lib/signet/oauth_2/client.rb:998:in `fetch_access_token!'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/googleauth-0.5.1/lib/googleauth/signet.rb:69:in `fetch_access_token!'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/googleauth-0.5.1/lib/googleauth/signet.rb:45:in `apply!'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/google-api-client-0.9.20/lib/google/apis/core/http_command.rb:300:in `apply_request_options'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/google-api-client-0.9.20/lib/google/apis/core/http_command.rb:282:in `block in execute_once'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/hurley-0.2/lib/hurley/client.rb:46:in `get'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/google-api-client-0.9.20/lib/google/apis/core/http_command.rb:272:in `execute_once'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/google-api-client-0.9.20/lib/google/apis/core/http_command.rb:107:in `block (2 levels) in execute'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/retriable-2.0.2/lib/retriable.rb:53:in `block in retriable'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/retriable-2.0.2/lib/retriable.rb:48:in `each'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/retriable-2.0.2/lib/retriable.rb:48:in `with_index'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/retriable-2.0.2/lib/retriable.rb:48:in `retriable'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/google-api-client-0.9.20/lib/google/apis/core/http_command.rb:104:in `block in execute'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/retriable-2.0.2/lib/retriable.rb:53:in `block in retriable'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/retriable-2.0.2/lib/retriable.rb:48:in `each'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/retriable-2.0.2/lib/retriable.rb:48:in `with_index'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/retriable-2.0.2/lib/retriable.rb:48:in `retriable'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/google-api-client-0.9.20/lib/google/apis/core/http_command.rb:96:in `execute'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/google-api-client-0.9.20/lib/google/apis/core/base_service.rb:351:in `execute_or_queue_command'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/google-api-client-0.9.20/generated/google/apis/drive_v3/service.rb:772:in `get_file'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/google_drive-2.1.2/lib/google_drive/session.rb:216:in `file_by_id'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/google_drive-2.1.2/lib/google_drive/session.rb:228:in `file_by_url'
    from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/google_drive-2.1.2/lib/google_drive/session.rb:275:in `spreadsheet_by_url'from final_gmail_script.rb:19:in `<main>'

代码示例

require 'capybara'
require 'google_drive'
require 'headless'
require 'certified'

credentials = Google::Auth::UserRefreshCredentials.new(
 client_id: "15##########3-k###################################hu2e.apps.googleusercontent.com",
 client_secret: "r#####_TO-#######3_E-##-",
 scope: [
   "https://www.googleapis.com/auth/drive",
   "https://spreadsheets.google.com/feeds/",
 ],
 refresh_token: "1/BYLI########################################4")
 google_session = GoogleDrive::Session.from_credentials(credentials)
 google_spreadsheet = google_session.spreadsheet_by_url("#########")

尝试获取电子表格通过网址时出错。

ruby 版本是 - 2.2.5

【问题讨论】:

标签: ruby windows openssl


【解决方案1】:

您似乎没有发送证书来访问电子表格。您可能需要通过 Google 服务生成一个,将其导出,将您的电子表格访问权限授予您的 google 服务电子邮件用户,然后使用证书提出请求。

https://console.developers.google.com/apis/dashboard 了解更多信息

【讨论】:

  • 嘿@xenover 感谢您的回复,但我正在使用 google 提供的 config.json 文件来访问电子表格,脚本在 ubuntu 上运行良好,但在 Windows 上引发了特定错误跨度>
猜你喜欢
  • 2011-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-25
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 2015-06-13
相关资源
最近更新 更多