ruby-on-rails - Ruby/Rails 客户端到 HTTPS API

标签 ruby-on-rails ruby ssl https

我需要处理一些第三方API,需要https连接。 我什至有一个证书文件 mycert.pem 并尝试以这种方式连接 API:

https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
https.verify_mode = OpenSSL::SSL::VERIFY_PEER
https.ca_file = File.join(Rails.root, "data", "certs", "mycert.pem")
https.ca_path = [Rails.root, "data", "certs"].join("/")

https.start {
  data = {
      <here some request data>
  }.to_json

  https.request_post([API_HOST, API_URL].join('/'), data) {|res|
    print res.body
  }
}

但我总是遇到此 API 的授权错误,就像我的证书无效(或过时)一样。即使我确定这不是真的并且我的客户端问题,也会导致其他客户端使用此 API(和相同的证书)连接没有问题。

所以,问题是

从 ruby​​ 中 https 连接服务的正确方法是什么?也许我丢了东西或做错了什么?

最佳答案

我没有那个特定问题的答案,但你可以尝试很多库来做这件事,这可能会帮助你解决问题。

看看这个很棒的幻灯片比较:

http://www.slideshare.net/HiroshiNakamura/rubyhttp-clients-comparison

我在我的项目中使用法拉第。

关于ruby-on-rails - Ruby/Rails 客户端到 HTTPS API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7024614/

相关文章:

ruby-on-rails - rails :update:bin rake task?的目的是什么

css - 使用 rails 中的 Bootstrap 并排设置表单字段

ruby - 正则表达式修改文本

ruby-on-rails - 为什么 REDIS key 总是过期?

asp.net - IdentityServer4 - 发生安全错误

安卓应用SSL解密

java - JSP Maven 应用程序的类似 Rails 的 Assets 管道解决方案?

ruby-on-rails - Rails 设计了两个单独的注册表单

ruby - 如何从 ruby​​ 中的矩阵中提取子矩阵

java - 建立 SSL 主机连接时无法使用签名证书验证 Cacerts