Python Examples

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

Python Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
Socket / SSL
SFTP
SMTP
Spider
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 Redirect Handling

Examine HTTP redirects.

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

import sys
import chilkat

http = chilkat.CkHttp()

#  Any string unlocks the component for the 1st 30-days.
success = http.UnlockComponent("Anything for 30-day trial")
if (success != True):
    print http.lastErrorText()
    sys.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 automatically taken:
http.put_FollowRedirects(True)

#  Send the HTTP GET and return the content in a string.
html = http.quickGetStr(url)
if (html == None ):
    print http.lastErrorText()

#  On success, LastErrorText will provide information about
#  what happened during the call.
print "--------------- LastErrorText ------------------"
print http.lastErrorText()
print "------------------------------------------------"

#  In this case, we see something like this:
#  ChilkatLog:
#    QuickGetHtml:
#      DllDate: Jul 27 2007
#      url: http://www.planyourweddingonline.co.za/
#      httpServer: www.planyourweddingonline.co.za
#      port: 80
#      StatusCode: 302
#      StatusText: Found
#      Reading chunked response
#      redirectUrl: main/main/home/index.php
#      url: http://www.planyourweddingonline.co.za/main/main/home/index.php
#      StatusCode: 302
#      StatusText: Found
#      Reading chunked response
#      redirectUrl: /main/main/home/index.php?SMC=1
#      url: http://www.planyourweddingonline.co.za/main/main/home/index.php?SMC=1
#      StatusCode: 200
#      StatusText: OK
#      CompressedSize: 7434
#      UncompressedSize: 40999

#  Was the GET redirected?
if (http.get_WasRedirected() == True):
    print "Chilkat HTTP followed the redirect."

    #  Display the final redirect URL:
    print "Final URL:"
    print http.finalRedirectUrl()

    #  Note the HTML returned is from the final redirect URL.

else:
    print "Not redirected."

status = http.get_LastStatus()
if (status == 200):
    print "status = 200, OK!"
else:
    print "HTTP Response status = " + str(status)

    #  Display the complete response header.
    print http.lastResponseHeader()

#  Now try it without following redirects:
print "-------- Now trying without following redirects...."
http.put_FollowRedirects(False)

#  Send the HTTP GET and return the content in a string.
html = http.quickGetStr(url)
if (html == None ):
    #  the HTML string can NULL if a 302 redirect response is received.
    print "HTML string returned NULL..."

#  On success, LastErrorText will provide information about
#  what happened during the call.
print "--------------- LastErrorText ------------------"
print http.lastErrorText()
print "------------------------------------------------"

#  In this case, we see something like this:
#  ChilkatLog:
#    QuickGetHtml:
#      DllDate: Jul 27 2007
#      url: http://www.planyourweddingonline.co.za/
#      StatusCode: 302
#      StatusText: Found
#      Reading chunked response
#      redirectUrl: main/main/home/index.php

#  Was this a redirect?  Even if FollowRedirects is false,
#  WasRedirected will be true (non-zero) if the response
#  indicated a redirect.
if (http.get_WasRedirected() == True):
    print "This was a redirect response"

    #  When redirects are not followed, FinalRedirectUrl
    #  contains the redirect URL that would've been taken...
    #  Display the redirect URL, which was not taken...
    print "Redirect URL:"
    print http.finalRedirectUrl()

else:
    print "Not redirected."

status = http.get_LastStatus()
if (status == 200):
    print "status = 200, OK!"
else:
    print "HTTP Response status = " + str(status)

    #  Display the complete response header.
    print http.lastResponseHeader()

 

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