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

HTTPS PUT application/x-www-form-urlencoded

See more HTTP Examples

Demonstrates two ways of sending an HTTPS PUT application/x-www-form-urlencoded request.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

#  This example assumes the Chilkat API to have been previously unlocked.
#  See Global Unlock Sample for sample code.

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

#  The 1st example sends a PUT with the query params in the URL.
#  The body of the request will be empty.
$url = "https://example.com/leads/12345678?uid=XXXX&apikey=YYYYYY&notes=Test_Note";

#  Sends the following request:

#  PUT /leads/12345678?uid=XXXX&apikey=YYYYYY&notes=Test_Note HTTP/1.1
#  Host: example.com
#  Accept: */*
#  Accept-Encoding: gzip
#  Content-Length: 0
#  

$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpStr("PUT",$url,"","","application/x-www-form-urlencoded",$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

print "Response status code = " . $resp->get_StatusCode() . "\r\n";
print "Response body: " . $resp->bodyStr() . "\r\n";

#  -----------------------------------------------------------------------
#  Now we send the same request, but instead the query params are in the HTTP request body.

$req = chilkat::CkHttpRequest->new();
$req->put_HttpVerb("PUT");
$req->put_Path("/leads/12345678");
$req->AddParam("uid","XXXX");
$req->AddParam("apikey","YYYYYY");
$req->AddParam("notes","Test_Note");

#  Sends the following request:

#  POST /leads/12345678 HTTP/1.1
#  Host: example.com
#  Content-Type: application/x-www-form-urlencoded
#  Content-Length: 38
#  
#  uid=XXXX&apikey=YYYYYY&notes=Test_Notereq.HttpVerb = "POST";
$req->put_HttpVerb("POST");
$req->put_ContentType("application/x-www-form-urlencoded");

$success = $http->HttpReq("https://example.com/leads/12345678",$req,$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

print "Response status code = " . $resp->get_StatusCode() . "\r\n";
print "Response body: " . $resp->bodyStr() . "\r\n";