我怎样才能处理与HTTParty的错误?
我正在使用HTTParty来创buildHTTP请求的Rails应用程序。 我怎样才能处理与HTTParty HTTP错误? 具体来说,我需要赶上HTTP 502&503和其他错误,如连接被拒绝和超时错误。
HTTParty :: Response的实例有一个code
属性,其中包含HTTP响应的状态代码。 它是作为一个整数给出的。 所以,这样的事情:
response = HTTParty.get('http://twitter.com/statuses/public_timeline.json') case response.code when 200 puts "All good!" when 404 puts "O noes not found!" when 500...600 puts "ZOMG ERROR #{response.code}" end
这个答案解决连接失败。 如果没有findURL,状态代码不会帮助你。 像这样拯救它:
begin HTTParty.get('http://google.com') rescue HTTParty::Error # don´t do anything / whatever rescue StandardError # rescue instances of StandardError, # ie Timeout::Error, SocketError etc end
有关更多信息,请参阅: 此github问题
你也可以使用这种方便的谓词方法success?
或bad_gateway?
通过这种方式:
response = HTTParty.post(uri, options) p response.success?
在Net::HTTPResponse::CODE_TO_OBJ
常量下可以find完整的可能的响应列表。