def post(path, data, initheader = nil, dest = nil, &block) # :yield: +body_segment+
      send_entity(path, data, initheader, dest, Post, &block)
    end
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.