簡體   English   中英

無法在Ruby on Rails中繞過HTTParty的SSL證書錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM