gpt4 book ai didi

ruby-on-rails - 如何绕过open-uri中的SSL证书验证?

转载 作者:行者123 更新时间:2023-12-03 06:06:29 32 4
gpt4 key购买 nike

我尝试通过 https 连接访问带有 open-uri 的文件。不幸的是,证书出现问题,我收到证书验证失败错误。我对此无能为力,所以我必须绕过验证。

我找到了这个answer

我不想/无法更改服务器上的 oen-uri.rb,并且我正在运行 Ruby 1.8.6。

如何更改验证模式?或者更确切地说我应该在哪里更改它?

我可以把它放在哪里?

if target.class == URI::HTTPS  
require 'net/https'
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
store = OpenSSL::X509::Store.new
store.set_default_paths
http.cert_store = store
end

或者肮脏的黑客:我可以把它放在哪里?

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

最佳答案

警告,请勿在生产中执行此操作,这样您将完全禁用 SSL。

如果您确实不希望使用证书验证获得额外的安全性,并且可以升级到 Ruby 1.9.3p327+,则可以将 ssl_verify_mode 选项传递给 open方法。例如,我是这样做的:

request_uri=URI.parse('myuri?that_has=params&encoded=in_it&optionally=1')

# The params incidentally are available as a String, via request_uri.query
output = open(request_uri, {ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE})
obj = JSON.parse output.readlines.join("")

关于ruby-on-rails - 如何绕过open-uri中的SSL证书验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1113422/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com