我想用 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-client 库 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")
关于ruby - 如何使用 SSL version = TLS 编写 POST 请求,我得到 SSL_connect SYSCALL returned=5 errno=0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26600339/