Sample code for 30+ languages & platforms
Perl Requires Chilkat v11.0.0+

Example: Http.HttpJson method - Send a POST with JSON Body

See more HTTP Examples

Demonstrates how to call the HttpJson method, which sends an HTTP POST with a JSON body. This example sends the following request:
POST /echo_request_body.asp HTTP/1.1
Host: chilkatsoft.com
Accept: */*
Accept-Encoding: gzip
Content-Type: application/json
Content-Length: 26

{"greeting":"Hello World"}

Also see: Chilkat Http Default and Auto-Filled Headers

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

$http = chilkat::CkHttp->new();
$success = 0;

$json = chilkat::CkJsonObject->new();

#  Build the following JSON:  {"greeting":"Hello World"}
$json->UpdateString("greeting","Hello World");

#  This URL echoes the contents of the request body, letting us view it.
$url = "https://chilkatsoft.com/echo_request_body.asp";

#  Send a POST with the JSON in the HTTP request body.
$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpJson("POST",$url,$json,"application/json",$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

print "Response Status Code: " . $resp->get_StatusCode() . "\r\n";

#  Examine the request we sent.
#  The LastHeader property stores the HTTP request header of the most recent request sent,
#  and in this instance, the response body mirrors the request body.
print $http->lastHeader() . "\r\n";
print $resp->bodyStr() . "\r\n";

#  Output:

#  POST /echo_request_body.asp HTTP/1.1
#  Host: chilkatsoft.com
#  Accept: */*
#  Accept-Encoding: gzip
#  Content-Type: application/json
#  Content-Length: 26
#  
#  {"greeting":"Hello World"}