Python Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Python Examples

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

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

HTTP Redirect Handling

Examine HTTP redirects.

Download Chilkat Python Library

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()

 

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

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