Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP ActiveX Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

HTTP Session with Cookies

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

Download Chilkat HTTP ActiveX

<?php

$req = new COM("Chilkat.HttpRequest");
$http = new COM("Chilkat.Http");

//  Any string unlocks the component for the 1st 30-days.
$success = $http->UnlockComponent('Anything for 30-day trial');
if ($success != true) {
    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->CookieDir = 'memory';
$http->SendCookies = true;
$http->SaveCookies = true;

//  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 (is_null($html)) {
    print $http->lastErrorText() . "\n";
    exit;
}

//  Build an HTTP POST request to login
$req->UsePost();
$req->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 = false;

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

//  Is this a 302 redirect?
if ($resp->StatusCode == 302) {

    //  Get the redirect URL:

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

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

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

?>

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