Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > net/httpライブラリ > Net::HTTPクラス > post
post(path, data, header = nil, dest = nil) -> Net::HTTPResponse
[permalink][rdoc]post(path, data, header = nil, dest = nil) {|body_segment| .... } -> Net::HTTPResponse
サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。
返り値は Net::HTTPResponse のインスタンスです。
ブロックと一緒に呼びだされたときはエンティティボディを少しずつ文字列としてブロックに与えます。このとき戻り値の HTTPResponse オブジェクトは有効な body を持ちません。
POST する場合にはヘッダに Content-Type: を指定する必要があります。もし header に指定しなかったならば、 Content-Type として "application/x-www-form-urlencoded" を用います。
dest は時代遅れの引数です。利用しないでください。 dest を指定した場合にはボディを少しずつ取得して順次「dest << ボディの断片」を実行します。
1.1 互換モードの場合は、レスポンスに応じて例外が発生します。また、返り値が [レスポンスオブジェクト, そのボディ] となります。
# net/http version 1.1
response, body = http.post('/cgi-bin/search.rb', 'query=subject&target=ruby')
# version 1.2
response = http.post('/cgi-bin/search.rb', 'query=subject&target=ruby')
# using block
File.open('save.html', 'w') {|f|
http.post('/cgi-bin/search.rb', 'query=subject&target=ruby') do |str|
f.write str
end
}
[SEE_ALSO] Net::HTTP#request_post