def post(path, data, initheader = nil, dest = nil, &block) # :yield: +body_segment+
      send_entity(path, data, initheader, dest, Post, &block)
    end
Posts +data+ (must be a String) to +path+. +header+ must be a Hash
like { 'Accept' => '*/*', ... }.

This method returns a Net::HTTPResponse object.

If called with a block, yields each fragment of the
entity body in turn as a string as it is read from
the socket.  Note that in this case, the returned response
object will *not* contain a (meaningful) body.

+dest+ argument is obsolete.
It still works but you must not use it.

This method never raises exception.

response = http.post('/cgi-bin/search.rb', 'query=foo')

# using block
File.open('result.txt', 'w') {|f|
http.post('/cgi-bin/search.rb', 'query=foo') do |str|
f.write str
end
}

You should set Content-Type: header field for POST.
If no Content-Type: field given, this method uses
"application/x-www-form-urlencoded" by default.