我想在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")