我正在尝试在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.
我该如何解决这个问题?
谢谢你,谢谢
2条答案
按热度按时间fdx2calv1#
所以我把语法改成了
const_set(OpenSSL::SSL::VERIFY_PEER,OpenSSL::SSL::VERIFY_NONE)
我解决了动态常数分配错误。这可能是因为我试图给方法中的常量赋值。
我现在陷入了一个新的错误:未初始化的常量OpenSSL::SSL::VERIFY_PEER。有人知道为什么会这样吗
救命!谢谢!
t1rydlwq2#
尝试以下操作以禁用证书验证:
否则,您可以尝试更新您的证书(下面的macos示例):$ brew upgrade ruby $ brew update --system $ gem update httpclient $ brew install openssl $ brew link openssl --force