Skip to content
instance method

Net::HTTP#post

(::String path, ::String data, ?::Net::headers initheader, ?bot dest) ?{ (::String body_segment) -> void } -> ::Net::HTTPResponse
post(path, data, initheader = nil) {|res| ... }

Sends a POST request to the server; returns an instance of a subclass of Net::HTTPResponse.

The request is based on the Net::HTTP::Post object created from string path, string data, and initial headers hash initheader.

With a block given, calls the block with the response body:

Example
data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
http = Net::HTTP.new(hostname)
http.post('/todos', data) do |res|
  p res
end # => #<Net::HTTPCreated 201 Created readbody=true>

Output:

Example
"{\n  \"{\\\"userId\\\": 1, \\\"id\\\": 1, \\\"title\\\": \\\"delectus aut autem\\\", \\\"completed\\\": false}\": \"\",\n  \"id\": 201\n}"

With no block given, simply returns the response object:

Example
http.post('/todos', data) # => #<Net::HTTPCreated 201 Created readbody=true>

Related:

See also .post #peer_cert #propfind #patch also in 4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0