我怎样才能处理与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完整的可能的响应列表。