如何使用 HTTParty 处理错误?
我正在开发一个使用 HTTParty 发出 HTTP 请求的 Rails 应用程序。如何使用 HTTParty 处理 HTTP 错误?具体来说,我需要捕获 HTTP 502 & 503 和其他错误,例如连接拒绝和超时错误。
I'm working on a Rails application using HTTParty to make HTTP requests. How can I handle HTTP errors with HTTParty? Specifically, I need to catch HTTP 502 & 503 and other errors like connection refused and timeout errors.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
HTTParty::Response 的实例有一个
代码 属性,其中包含 HTTP 响应的状态代码。它以整数形式给出。所以,像这样:
An instance of HTTParty::Response has a
code
attribute which contains the status code of the HTTP response. It's given as an integer. So, something like this:此答案解决了连接失败的问题。如果未找到 URL,状态代码将无法为您提供帮助。像这样拯救它:
有关更多信息,请参阅:此 github 问题
This answer addresses connection failures. If a URL isn´t found the status code won´t help you. Rescue it like this:
For more information see: this github issue
您还可以使用
ok?
或bad_gateway?
等方便的谓词方法,如下所示:所有可能响应的完整列表可以在
Rack::Utils::HTTP_STATUS_CODES
常量。You can also use such handy predicate methods as
ok?
orbad_gateway?
like this:The full list of all the possible responses can be found under
Rack::Utils::HTTP_STATUS_CODES
constant.