Sample code for 30+ languages & platforms
Ruby

HTTP POST x-www-form-urlencoded

Demonstrates how to send a simple x-www-form-urlencoded POST.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

http = Chilkat::CkHttp.new()

jsonStr = "{ some json ... }"

req = Chilkat::CkHttpRequest.new()
# This query parameter just happens to be named "json" and contains JSON text.
req.AddParam("json",jsonStr)

# We can optionally add more query parameters. 
req.AddParam("abc","123")
req.AddParam("xml","<abc>123</abc>")

# Note: Just because we passed a query param named "json" or "xml" means nothing special.  It's still just
# a name=value query parameter..

req.put_HttpVerb("POST")
req.put_ContentType("application/x-www-form-urlencoded")

resp = Chilkat::CkHttpResponse.new()
success = http.HttpReq("http://example.com/xyz/connect/report",req,resp)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

if (resp.get_StatusCode() != 200)
    print "Hey, I didn't receive the expected response status code!" + "\n";
    print "status code = " + resp.get_StatusCode().to_s() + "\n";
end

# Could be error text if the status code wasn't what we expected, or could be the response
# body you're seeking..
responseBody = resp.bodyStr()
print responseBody + "\n";

fac = Chilkat::CkFileAccess.new()
filepath = "some file path"
success = fac.WriteEntireTextFile(filepath,responseBody,"utf-8",false)
if (success != true)
    print fac.lastErrorText() + "\n";
end