Sample code for 30+ languages & platforms
Perl

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";