[英]Unable to bypass SSL Certificate Error with HTTParty in Ruby on Rails
當我嘗試使用HTTParty訪問Web服務器時,我收到了SSL證書錯誤。 這是我最初得到的錯誤。
SSL_connect返回= 1 errno = 0狀態= SSLv3讀取服務器證書B:證書驗證失敗
我試圖通過更新默認選項來糾正他。 代碼如下。
class Coursera
include HTTParty
base_uri 'https://api.coursera.org/api/catalog.v1/courses'
default_params fields: "smallIcon,shortDescription", q: "search"
format :json
default_options.update(verify: false)
def self.for term
get("", query: { query: term})["elements"]
end
end
然而,這導致了另一個錯誤,這讓我感到困惑。
語法錯誤,意外的tIDENTIFIER,期待keyword_end default_options.update(verify:false)
有人可以解釋為什么會發生此錯誤以及如何繞過SSL以獲取查詢結果?
你得到syntax error, unexpected tIDENTIFIER, expecting keyword_end default_options.update(verify: false)
因為這行所以syntax error, unexpected tIDENTIFIER, expecting keyword_end default_options.update(verify: false)
HTTParty.get(get("", query: { query: term})["elements"])
最后有一個缺失的括號。 實際上,您不需要在HTTParty
上調用get
。 更換
HTTParty.get(get("", query: { query: term})["elements"])
同
get("",query: { query: term})["elements"])
將您的文件與https://github.com/jhu-ep-coursera/fullstack-course1-module3/blob/master/app/models/coursera.rb進行比較
現在回到SSl錯誤。
來自https://gist.github.com/mislav/5026283
在談論> HTTPS時,您可能在Ruby 2.0中獲得證書錯誤的原因是因為沒有OpenSSL(在構建Ruby時使用)信任的默認證書包。
您可以通過安裝證書來解決錯誤,而不是禁用SSL。
要點還包含有關如何手動安裝證書包的信息。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.