Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
HTTP Redirect HandlingExamine HTTP redirects.
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.