1

我无法通过 RestClient 访问服务器。

我用 cURL 编写了这段代码(它将 XML 文件发送到服务器进行解析)

curl -T /Users/amok/Code/1188/dragon/test.xml --cert Users/amok/Code/1188/dragon/client_1188.pem --key Users/amok/Code/1188/dragon/client_1188.key -k -u 1188:aaa https://smart.com/index.cgi

需要在 RestClient 中做同样的事情。我试过这个,但它不起作用。

return RestClient::Resource.new(
  'https://smart.com/index.cgi',
  :ssl_client_cert  =>  OpenSSL::X509::Certificate.new(File.read(File.join(Rails.root, "/cert/client_1188.pem"))),
  :ssl_client_key   =>  OpenSSL::PKey::RSA.new(File.read(File.join(Rails.root, "/cert/client_1188.key"))),
  :user => '1188', 
  :password => 'aaa'
).post(xml, :content_type => 'application/xml')

(xml是文件,存储在服务器上)

问题是:

OpenSSL::SSL::SSLError in BackOffice::DragonPilotController#create
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

手掌现在在我的脸上......(((谢谢

4

1 回答 1

1

使用 PUT 方法而不是 POST

于 2012-06-19T10:51:02.470 回答