Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Perl Unicode
Perl Byte Array
Perl Certs
Perl Email
Perl Encryption
Perl FTP
HTML-to-XML
Perl HTTP
Perl IMAP
Perl MHT
Perl MIME
Perl RSA
Perl S/MIME
Perl Signatures
Perl Socket
Perl Spider
Perl Tar
Perl Upload
Perl XML
Perl XMP
Perl Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

 

HTTP Session with Cookies

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

Download Chilkat Perl Module

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

 

Need a specific example? Send a request to support@chilkatsoft.com

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