With all due respect, Net::HTTP is clunky. I'm typing the following from memory, too:
require 'open-uri'
response = open("http://blog.segment7.net/").read require 'open-uri'
response = open("http://blog.segment7.net/").read Net::HTTP.new(host, port).start do |http|
post = Net::HTTP::Post.new(url)
post.set_form_data('blah' => '123')
http.request(post)
end response = Net::HTTP.post_form(URI.parse("http://example.com"), {:param => "val"})