Perl Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Perl Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
SMTP
Socket / SSL
Spider
SFTP
SSH Key
SSH
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

More Examples...
String
Amazon S3
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

HTTP Session with Cookies

How to keep a session with cookies. Demonstrates how to login to WordPress.

 Chilkat Perl Module Downloads for Windows, Linux, and MAC OS X

use chilkat();

$req = new chilkat::CkHttpRequest();
$http = new chilkat::CkHttp();

#  Any string unlocks the component for the 1st 30-days.
$success = $http->UnlockComponent("Anything for 30-day trial");
if ($success != 1) {
    print $http->lastErrorText() . "\n";
    exit;
}

#  This example will demonstrate maintaining a session with
#  cookies by doing a simple login to a WordPress blog.
#  Indicate that cookies are to be saved and re-sent.
#  Instead of using a cookie file, you may use the string "memory"
#  to save cookies to memory.
$http->put_CookieDir("memory");
$http->put_SendCookies(1);
$http->put_SaveCookies(1);

#  Let's first hit the chilkat.wordpress.com login page to make sure
#  we have any initial cookies...

$html = $http->quickGetStr("http://chilkat.wordpress.com/wp-login.php");
if ($html eq null ) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

#  Build an HTTP POST request to login
$req->UsePost();
$req->put_Path("/wp-login.php");
$req->AddParam("log","chilkat");
$req->AddParam("pwd","myPassword");
$req->AddParam("rememberme","forever");
$req->AddParam("wp-submit","Login");
$req->AddParam("redirect_to","/wp-admin/");

$req->AddHeader("Referer","http://chilkat.wordpress.com/wp-login.php");

#  Send the HTTP POST and get the response.  Note: This is a blocking call.
#  The method does not return until the full HTTP response is received.

$domain = "chilkat.wordpress.com";
$port = 80;
$ssl = 0;

$resp = $http->SynchronousRequest($domain,$port,$ssl,$req);
if ($resp eq null ) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

#  Is this a 302 redirect?
if ($resp->get_StatusCode() == 302) {

    #  Get the redirect URL:

    $redirectUrl = $resp->getHeaderField("Location");

    $html = $http->quickGetStr($redirectUrl);
    if ($html eq null ) {
        print $http->lastErrorText() . "\r\n";
    }
    else {
        print $html . "\r\n";
    }

}
else {
    print $resp->bodyStr() . "\r\n";
}

 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.