Perl
Chilkat2 Perl
Adding Cookies to an HTTP Request
See more HTTP Examples
Demonstrates how to add one or more cookies to an HTTP request.Chilkat Perl Downloads
use strict;
use warnings;
use Chilkat2;
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
my $http = Chilkat2::Http->new;
# The Cookie header field has this format:
# Cookie: name1=value1 [; name2=value2] ...
# Build an HTTP POST request:
my $req = Chilkat2::HttpRequest->new;
$req->SetFromUrl('http://www.chilkatsoft.com/echoPost.asp');
$req->HttpVerb('POST');
$req->AddParam('param1', 'value1');
$req->AddParam('param2', 'value2');
# To add cookies to any HTTP request sent by a Chilkat HTTP method
# that uses an HTTP request object, add the cookies to the
# request object by calling AddHeader.
# Add two cookies:
$req->AddHeader('Cookie', 'user="mary"; city="Chicago"');
# Send the HTTP POST.
# (The cookies are sent as part of the HTTP header.)
my $domain = 'www.chilkatsoft.com';
my $port = 80;
my $ssl = 0;
my $resp = Chilkat2::HttpResponse->new;
my $success = $http->HttpSReq($domain, $port, $ssl, $req, $resp);
if (!$success) {
print $http->LastErrorText, "\n";
exit;
}
# Display the HTML body of the response.
if ($resp->StatusCode == 200) {
# Show the last HTTP request header sent, which should include
# our cookies...
print $http->LastHeader, "\n";
} else {
print 'HTTP Response Status = ', $resp->StatusCode, "\n";
}
print "---------------------\n";
# Some Chilkat HTTP methods do not use an HTTP request object.
# For these methods, such as for QuickGetStr, cookies (or any HTTP request header)
# are added by calling SetRequestHeader.
$http->SetRequestHeader('Cookie', 'user="mary"; city="Chicago"');
my $html = $http->QuickGetStr('http://www.w3.org/');
if (!$http->LastMethodSuccess) {
print $http->LastErrorText, "\n";
} else {
# Show the last HTTP request header sent, which should include
# our cookies...
print $http->LastHeader, "\n";
}