Httpary: OpenSSL::SSL::SSLError



我一直在使用httparty与我的rails应用程序的API进行通信 我遇到的问题是当决定在不同的服务器上运行它时。 我们不断收到此错误:

SSL_connect returned=1 errno=0 state=unknown state: tlsv1 alert protocol version

它运行良好,我当前的环境没有错误,所以我不确定我缺少什么才能让它在我的其他服务器上运行

我的代码:

require 'httparty'
require 'pp'
require 'openssl'
def self.get_token
include HTTParty
base_uri = self.base_url
base_uri = base_uri+'oauth/'+'token'
response =  HTTParty.post(base_uri,verify:false,
:body =>{
:grant_type=>'password',
:client_id=>'3',
:client_secret=> 'eGSjPBZV70IsJwnyjNn7EYI6vci0bGrFbJkJNVof',
:password=>'Passw0rd!',
:username=>'myemail@gmail.com'
},)
token = response.parsed_response['access_token']

return token
end `

您收到的是警报/警告,而不是错误。这是可能的,因为由于安全问题,不建议使用您正在使用的 TLS 版本。

根据 HTTParty 文档,您可以使用以下代码更改 TLS 版本:

ssl_version :SSLv3

请尝试此 v3 版本或 v2 版本,看看它是否删除了警告消息。

最新更新