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

 

 

 

 

 

 

 

Tracing HTTP Redirects

Example to trace through HTTP redirects.

Chilkat Module for Perl 5.8.*

Chilkat Module for Perl 5.10.*

use chilkat;

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

$url = "http://www.planyourweddingonline.co.za/";

#  The FollowRedirects property controls whether redirects
#  are automatically followed.  The default behavior is to
#  automatically follow redirects.

#  Explicitly set FollowRedirects so that redirects are NOT automatically taken:
$http->put_FollowRedirects(0);

#  Send the HTTP GET and return the content in a string.
$html = $http->quickGetStr($url);
if ($html eq null ) {
    print $http->lastErrorText() . "\n";
}

$status = $http->get_LastStatus();
print "HTTP Response Status: " . $status . "\r\n";

#  The FinalRedirectUrl property will contain the redirect URL
#  If FollowRedirects was equal to 1, then all of the
#  intermediate redirects (if any) would be followed until
#  there were no more redirects.  However, because
#  FollowRedirects is not 1, FinalRedirectUrl contains
#  the next redirect URL.
print "Redirect URL: " . $http->finalRedirectUrl() . "\r\n";

$loopCount = 0;

while (($status == 302)) {
    $url = $http->finalRedirectUrl();
    $html = $http->quickGetStr($url);
    if ($html eq null ) {
        print $http->lastErrorText() . "\n";
        last;
    }

    $status = $http->get_LastStatus();
    print "Redirect URL: " . $http->finalRedirectUrl() . "\r\n";

    #  You may wish to check that if FinalRedirectUrl
    #  equals the URL just retrieved.  If so, then break out of the
    #  loop.  (This check is omitted in this example.)

    #  Instead, this example will prevent infinite loops by
    #  keeping a loopCount and only allows following a max
    #  of 10 redirects:
    $loopCount = $loopCount + 1;
    if ($loopCount > 10) {
        last;
    }

}

 

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

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