![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(CkPython) HTTP Redirect HandlingExamine HTTP redirects.
import chilkat # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. http = chilkat.CkHttp() # Please note: The URL used in this example was a valid redirect many years ago, # but the site does not exist any longer.. 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 (http.get_LastMethodSuccess() != True): 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 (http.get_LastMethodSuccess() != True): # 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-2026 Chilkat Software, Inc. All Rights Reserved.