私はHTTPartyを使ってHTTP要求を行うRailsアプリケーションを開発中です。 HTTPartyでHTTPエラーを処理する方法は?具体的には、HTTP 502 & 503や接続拒否やタイムアウトエラーなどのエラーを検出する必要があります。HTTPartyでエラーを処理するにはどうすればよいですか?
58
A
答えて
76
HTTParty::Responseのインスタンスには、HTTP応答のステータスコードを含むcode
属性があります。これは整数として与えられます。したがって、このような何か:
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. passport.deserializeUser()でエラーを処理するにはどうすればよいですか?
- 2. DataSet.Fillでエラーを処理するにはどうすればよいですか?
- 3. inet_ntop()のエラーを処理するにはどうすればよいですか?
- 4. CMake.exeエラーを処理するにはどうすればいいですか
- 5. SwiftでCFSocketCallBackType.dataCallbackを処理するにはどうすればよいですか?
- 6. Androidでフィードを処理するにはどうすればよいですか?
- 7. Three.jsでアニメーションモデルを処理するにはどうすればよいですか?
- 8. Site.Masterでフォームを処理するにはどうすればよいですか?
- 9. .NETでNegotiateを処理するにはどうすればよいですか?
- 10. Javaでマルチタイプツリーシステムを処理するにはどうすればよいですか?
- 11. QThreadでイベントを処理するにはどうすればよいですか?
- 12. iOSでタイムイベントを処理するにはどうすればよいですか?
- 13. メッセージタイプに基づいて異なる処理を処理するにはどうすればよいですか?
- 14. On Loadイベントを処理するにはどうすればよいですか?
- 15. リストを反復処理するにはどうすればよいですか?
- 16. リストを反復処理するにはどうすればよいですか?
- 17. レスポンスレイアウトのズームを処理するにはどうすればよいですか?
- 18. プレーンテキストHTTPを処理するにはどうすればよいですか?
- 19. HTTPartyがSSLを無視するようにするにはどうすればよいですか?
- 20. JQuery ajaxでは、HTTP 408エラーを正しく処理するにはどうすればよいですか?
- 21. リクエストで正常に接続エラーを処理するにはどうすればよいですか?
- 22. イメージ処理を始めるにはどうすればよいですか?
- 23. カスタムIHttpHandlerでポストバックを処理できるようにするにはどうすればよいですか?
- 24. ICEfaces(Faceletsを使用)でエラー処理ページを作成するにはどうすればよいですか?
- 25. ノードターでcronジョブをどのように処理すればよいですか?
- 26. Global.asax Application_Startでエラーを処理するにはどうすればよいですか?
- 27. Perlのメソッドチェーンでエラーを処理するにはどうすればよいですか?
- 28. モジュールでApacheエラーを処理するにはどうすればよいですか?
- 29. Hapiでエラーを正しく処理するにはどうすればよいですか?
- 30. カスタムKoaミドルウェアでエラー処理をテストするにはどうすればよいですか?
ありがとうございます!それが私がやっていることです。エラー処理を行う他の方法があるかどうか疑問に思っていました。 – preethinarayan
この回答は接続の失敗に対処していません。 – gtd
preethinarayanのコメントに関しては、代わりにエラーを捕まえる/救助したい場合は、次のようなことをいつでも行うことができます: もしblablahblahをraiseすると、response.code!= 200 私は実際に何か類似のことをするつもりです。 – user435779