使用Ruby SOAP忽略SSL错误

omhiaaxx  于 12个月前  发布在  Ruby
关注(0)|答案(2)|浏览(102)

我正在尝试在https url上使用wsdl。如何告诉Ruby的OpenSSL库忽略自签名证书错误?
当我尝试这个:
. OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE::SOAP::WSDLDriverFactory.new(SERVICE_URL).create_rpc_driver.
我得到这个错误:
ReportsController#wsdlCaller中的语法错误
/rails-root/app/controllers/reports_controller.rb:220:动态常量赋值.= OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE::SO.
我该如何解决这个问题?
谢谢你,谢谢

fdx2calv

fdx2calv1#

所以我把语法改成了
const_set(OpenSSL::SSL::VERIFY_PEER,OpenSSL::SSL::VERIFY_NONE)
我解决了动态常数分配错误。这可能是因为我试图给方法中的常量赋值。
我现在陷入了一个新的错误:未初始化的常量OpenSSL::SSL::VERIFY_PEER。有人知道为什么会这样吗
救命!谢谢!

t1rydlwq

t1rydlwq2#

尝试以下操作以禁用证书验证:

require 'httpclient'
client = HTTPClient.new
client.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE

否则,您可以尝试更新您的证书(下面的macos示例):$ brew upgrade ruby $ brew update --system $ gem update httpclient $ brew install openssl $ brew link openssl --force

相关问题