Sample code for 30+ languages & platforms
CkPython

HTTP POST x-www-form-urlencoded

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

Chilkat CkPython Downloads

CkPython
import sys
import chilkat

success = False

http = chilkat.CkHttp()

jsonStr = "{ some json ... }"

req = chilkat.CkHttpRequest()
# 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()
success = http.HttpReq("http://example.com/xyz/connect/report",req,resp)
if (success == False):
    print(http.lastErrorText())
    sys.exit()

if (resp.get_StatusCode() != 200):
    print("Hey, I didn't receive the expected response status code!")
    print("status code = " + str(resp.get_StatusCode()))

# 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)

fac = chilkat.CkFileAccess()
filepath = "some file path"
success = fac.WriteEntireTextFile(filepath,responseBody,"utf-8",False)
if (success != True):
    print(fac.lastErrorText())