Ruby 2.0.0 リファレンスマニュアル > ライブラリ一覧 > net/httpライブラリ > Net::HTTPResponseクラス

class Net::HTTPResponse

クラスの継承リスト: Net::HTTPResponse < Net::HTTPHeader < Object < Kernel < BasicObject

要約

HTTP レスポンスを表現するクラスです。 Net::HTTP クラスは実際には HTTPResponse のサブクラスを返します。

目次

特異メソッド
body_permitted?
インスタンスメソッド
body entity code header reader_header response http_version message msg read_body to_ary value

特異メソッド

body_permitted? -> bool[permalink][rdoc]

エンティティボディを含むことが許されているレスポンスクラス ならば真を、そうでなければ偽を返します。

インスタンスメソッド

body -> String | () | nil[permalink][rdoc]
entity -> String | () | nil

エンティティボディを返します。

レスポンスにボディがない場合には nil を返します。

Net::HTTPResponse#read_body をブロック付きで呼んだ場合には このメソッドはNet::ReadAdapter のインスタンスを返しますが、 これは使わないでください。

entity は obsolete です。

code -> String[permalink][rdoc]

HTTP のリザルトコードです。例えば '302' などです。

この値を見ることでレスポンスの種類を判別できますが、 レスポンスオブジェクトがどのクラスのインスタンスかを 見ることでもレスポンスの種類を判別できます。

response -> self[permalink][rdoc]
header -> self
reader_header -> self

互換性を保つためだけに導入されたメソッドです。 使わないでください。

自分自身を返します。

http_version -> String[permalink][rdoc]

サーバがサポートしている HTTP のバージョンを文字列で返します。

message -> String[permalink][rdoc]
msg -> String

HTTP サーバがリザルトコードに付加して返すメッセージです。 例えば 'Not Found' などです。

msg は obsolete です。使わないでください。

read_body(dest=nil) -> String|nil[permalink][rdoc]
read_body {|str| .... } -> ()

ブロックを与えなかった場合にはエンティティボディを 文字列で返します。 ブロックを与えた場合には エンティティボディを少しずつ取得して順次ブロックに 文字列で与えます。

レスポンスがボディを持たない場合には nil を返します。

一度ブロックを与えずにこのメソッドを呼んだ場合には、 次からはすでに読みだしたボディを文字列として 返します。また一度ブロックを与えてこのメソッドを呼んだ場合には、 次からは Net::ReadAdapter のインスタンスが返ってきますが、 その場合はそのオブジェクトは使わないでください。

dest は obsolete です。使わないでください。 dest を指定した場合には ボディを少しずつ取得して順次 「dest << ボディの断片」を実行します。

[PARAM] dest:
obsoleteな引数です。利用しないでください。
to_ary -> [Net::HTTPResponse, String][permalink][rdoc]

このメソッドは net/http.rb 1.1 との互換性のために存在します。

[self, self.body] を返します。

value -> nil[permalink][rdoc]

レスポンスが 2xx(成功)でなかった場合に、対応する 例外を発生させます。

[EXCEPTION] HTTPError:
レスポンスが 1xx であるか、 net/http が知らない 種類のレスポンスである場合に発生します。
[EXCEPTION] HTTPRetriableError:
レスポンスが 3xx である場合に発生します。
[EXCEPTION] HTTPServerException:
レスポンスが 4xx である場合に発生します。
[EXCEPTION] HTTPFatalError:
レスポンスが 5xx である場合に発生します。