我嘗試通過https連接訪問open-uri文件。不幸的是,有些證書錯誤,我得到一個證書驗證失敗錯誤。我無法做任何事情,所以我必須繞過驗證。如何在open-uri中繞過SSL證書驗證?
我發現這個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
如果出現'動態常量賦值'錯誤,請執行以下操作:OpenSSL :: SSL.const_set(:VERIFY_PEER,OpenSSL :: SSL :: VERIFY_NONE) – Sam 2014-02-04 18:58:17
並且爲了避免出現警告:已經初始化常量OpenSSL :: SSL :: VERIFY_PEER`警告,使用`remove_const`首先刪除該常量,然後重新添加。這很難輸入到註釋中,所以[請查看這個要點](https://gist.github.com/siruguri/66926b42a0c70ef7119e)。 – sameers 2015-04-14 18:50:05
如果您使用的是ruby 1.9.3p327 + – jvenezia 2015-04-27 13:46:19