我正在使用HTTParty来制作HTTP请求的Rails应用程序。我如何处理HTTParty的HTTP错误?具体来说,我需要捕获HTTP 502和其他错误,如连接被拒绝和超时错误。如何处理HTTParty错误?
58
A
回答
76
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
20
此答案解决了连接失败。如果找不到URL,状态码不会帮助你。拯救这样的:
begin
HTTParty.get('http://google.com')
rescue HTTParty::Error
# don´t do anything/whatever
rescue StandardError
# rescue instances of StandardError,
# i.e. Timeout::Error, SocketError etc
end
欲了解更多信息,请参阅:
response = HTTParty.post(uri, options)
p response.success?
完全可能的响应列表:this github issue
9
您也可以以这种方式使用这种方便的断言方法作为success?
或bad_gateway?
可以在Net::HTTPResponse::CODE_TO_OBJ
下找到常数。
相关问题
- 1. 在HTTPARTy中处理Net :: ReadTimeout错误
- 2. 错误的用户名/密码错误处理使用httparty
- 3. HTTPArty/Rails:如何处理响应数组
- 4. Ruby,HTTParty,SSL错误
- 5. 如何处理'simplexml_load_string'错误?
- 6. 如何处理错误
- 7. 如何处理“Nonetype”错误?
- 8. 如何处理NoReverseMatch错误?
- 9. 如何处理CLI错误
- 10. ServiceStack:如何处理错误?
- 11. 如何处理错误
- 12. 如何处理错误
- 13. 如何处理错误笨
- 14. 如何处理MultiObjectsReturned错误
- 15. 如何处理BPEL错误
- 16. 如何处理System.OutOfMemoryException错误
- 17. 如何处理jsonp错误?
- 18. 如何错误处理python
- 19. 如何处理错误1064?
- 20. 如何处理错误(AbstractRestfulController)?
- 21. 如何处理404错误
- 22. 如何处理NSException错误
- 23. 如何处理JS错误
- 24. 如何处理IE错误
- 25. 如何处理500错误
- 26. 如何处理RapidXml错误?
- 27. 如何错误处理WorksheetFunction.VLookup 1004错误?
- 28. 我如何处理,解析url中的冒号与httparty和json
- 29. 处理错误
- 30. 错误处理
谢谢!这就是我计划要做的。想知道是否有任何其他的方式来做错误处理。 – preethinarayan
此答案不解决连接失败。 – gtd
至于preethinarayan的评论,如果你想赶上/营救的错误,而不是,你总是可以做这样的事情: 提高blablahblah如果response.code = 200 实际上,我将做类似的东西.. – user435779