リクエスト オブジェクトの #to_hash メソッドが役立つ場合があります。GET リクエストを作成してヘッダーを検査する例を次に示します。
require 'net/http'
require 'uri'
uri = URI('http://example.com/cached_response')
req = Net::HTTP::Get.new(uri.request_uri)
req['X-Crazy-Header'] = "This is crazy"
puts req.to_hash # hash of request headers
# => {"accept"=>["*/*"], "user-agent"=>["Ruby"], "x-crazy-header"=>["This is crazy"]}
フォーム データを設定し、ヘッダーと本文を検査する POST 要求の例:
require 'net/http'
require 'uri'
uri = URI('http://www.example.com/todo.cgi')
req = Net::HTTP::Post.new(uri.path)
req.set_form_data('from' => '2005-01-01', 'to' => '2005-03-31')
puts req.to_hash # hash of request headers
# => {"accept"=>["*/*"], "user-agent"=>["Ruby"], "content-type"=>["application/x-www-form-urlencoded"]}
puts req.body # string of request body
# => from=2005-01-01&to=2005-03-31