![]() |
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
(Visual FoxPro) HTTP Redirect HandlingExamine HTTP redirects.
LOCAL loHttp LOCAL lcUrl LOCAL lcHtml LOCAL lnStatus * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') * Please note: The URL used in this example was a valid redirect many years ago, * but the site does not exist any longer.. lcUrl = "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: loHttp.FollowRedirects = 1 * Send the HTTP GET and return the content in a string. lcHtml = loHttp.QuickGetStr(lcUrl) IF (loHttp.LastMethodSuccess <> 1) THEN ? loHttp.LastErrorText ENDIF * On success, LastErrorText will provide information about * what happened during the call. ? "--------------- LastErrorText ------------------" ? loHttp.LastErrorText ? "------------------------------------------------" * 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 (loHttp.WasRedirected = 1) THEN ? "Chilkat HTTP followed the redirect." * Display the final redirect URL: ? "Final URL:" ? loHttp.FinalRedirectUrl * Note the HTML returned is from the final redirect URL. ELSE ? "Not redirected." ENDIF lnStatus = loHttp.LastStatus IF (lnStatus = 200) THEN ? "status = 200, OK!" ELSE ? "HTTP Response status = " + STR(lnStatus) * Display the complete response header. ? loHttp.LastResponseHeader ENDIF * Now try it without following redirects: ? "-------- Now trying without following redirects...." loHttp.FollowRedirects = 0 * Send the HTTP GET and return the content in a string. lcHtml = loHttp.QuickGetStr(lcUrl) IF (loHttp.LastMethodSuccess <> 1) THEN * the HTML string can NULL if a 302 redirect response is received. ? "HTML string returned NULL..." ENDIF * On success, LastErrorText will provide information about * what happened during the call. ? "--------------- LastErrorText ------------------" ? loHttp.LastErrorText ? "------------------------------------------------" * 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 (loHttp.WasRedirected = 1) THEN ? "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... ? "Redirect URL:" ? loHttp.FinalRedirectUrl ELSE ? "Not redirected." ENDIF lnStatus = loHttp.LastStatus IF (lnStatus = 200) THEN ? "status = 200, OK!" ELSE ? "HTTP Response status = " + STR(lnStatus) * Display the complete response header. ? loHttp.LastResponseHeader ENDIF RELEASE loHttp |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.