【问题标题】:Rest-Client gem RoR, Getting SSL wrong version errorRest-Client gem RoR,获取 SSL 错误版本错误
【发布时间】:2019-09-21 21:37:40
【问题描述】:

我想构建一个 cli ruby​​ 应用程序,它将请求发送到 Rails API 服务器。我想使用 rest-client gem 来做到这一点。每次我使用

RestClient.post 

我收到以下错误

SSL_connect returned=1 errno=0 state=error: wrong version number (OpenSSL::SSL::SSLError)

我能做些什么让它从控制台运行吗?代码很简单,我只是想测试一下这个功能,所以别担心,这不是最终的。

我正在运行 rails 6.0.3,ruby 2.6.3。

require "tty-prompt"
prompt = TTY::Prompt.new
require 'rest-client'



if prompt.yes? "Do you have an account ?"
  email = prompt.ask('What is your email?') do |q|
    q.validate(/\A\w+@\w+\.\w+\Z/, 'Invalid email address')
  end
  pass = prompt.mask('password:')
  puts email
  puts pass
  RestClient.post "https://localhost:3000/auth/sign_in",  "email: #{email},password:#{pass}"
  puts response.code
else
  RestClient.post "https://localhost:3000/auth",  "email: #{email},password:#{pass}"

end

我想让 cli 应用向 API 发送请求,就是这样,rest-client 不想与我合作。谢谢你:D

【问题讨论】:

    标签: ruby ssl command-line-interface rest-client


    【解决方案1】:

    您访问的端口 3000 可能只有 http:// 而不是 https://。使用https:// 访问普通的http:// 端口将导致客户端将服务器HTTP 错误消息(因为客户端发送的TLS 握手的开头不是有效的HTTP)错误地解释为HTTPS,这可能会导致奇怪的错误,如无效数据包长度或版本号错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      • 2012-04-15
      • 2019-10-13
      • 2019-11-03
      相关资源
      最近更新 更多