这里是我的简单类,用于通过 HTTPS 请求具有 PEM 证书的 Web 服务。
require [omit verbose]
class Api
def initialize
@ctx = OpenSSL::SSL::Context::Client.new
@ctx.private_key = "/home/XXXXXX/development.pem"
@ctx.verify_mode = LibSSL::VerifyMode::NONE
end
def customers
response = HTTP::Client.get "https://XXX.XXX.XXX.XXX:XXXX/api/customers", nil, nil, @ctx
puts response.status_code
puts response.body
puts response.inspect
nil
end
end
Api.new.customers
但我只收到 crystal run src/api.cr 的 401 Authorization required。
最佳答案
您还需要设置certificate_chain。
在初始化方法中添加这一行
@ctx.certificate_chain = "/home/XXXXXX/development.pem"
关于api - 带有 PEM 证书的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46177781/