如何使用SSL版本=TLS编写POST请求,我得到SSL_connect SYSCALL返回=5 errno=0



我想在Ruby 中重写这个curl脚本

使用POST通过SSL 将一些数据放入服务器

  curl -k https://<SERVER_ADDR>:443/ -i 
  -H "Accept: application/json" 
  -H "Content-Type:application/json" 
  -X POST -d @${1} https://<SERVER_ADDR>:443/service/

这个Curl脚本有效,但下面的ruby脚本无效。

我使用rest客户端库https://github.com/rest-client/rest-client

我得到错误#<OpenSSL::SSL::SSLError: SSL_connect SYSCALL returned=5 errno=0 state=SSLv3 read server hello A>

header = {
  "Accept" => " application/json",
  "Content-Type" => "application/json"
}
  resp = RestClient.post(server_url, content, header)

我如何用Ruby版本重写curl?

RestClient默认为SSLv3,出于安全原因不应使用它。换成更现代的东西:

RestClient::Resource.new('https://<SERVER_ADDRESS>:443/service', :ssl_version => 'TLSv1').post(:json_key => "json_value")

最新更新