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