Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 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