![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java 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) Manually Follow HTTP RedirectsDemonstrates how to manually follow redirects for an HTTP GET. Note: This example requires Chilkat v11.0.0 or greater.
LOCAL lnSuccess LOCAL loHttp LOCAL loResp LOCAL lnStatus LOCAL lnLoopCount LOCAL lcNextUrl lnSuccess = 0 * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. loHttp = CreateObject('Chilkat.Http') * The FollowRedirects property controls whether redirects * are automatically followed. The default behavior is to * automatically follow redirects. * Explicitly set FollowRedirects so that redirects are NOT automatically taken: loHttp.FollowRedirects = 0 loResp = CreateObject('Chilkat.HttpResponse') lnSuccess = loHttp.HttpNoBody("GET","http://yandex.ru/",loResp) IF (lnSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loResp CANCEL ENDIF lnStatus = loResp.StatusCode ? "HTTP Response Status: " + STR(lnStatus) * The FinalRedirectUrl property will contain the redirect URL * If FollowRedirects was equal to 1, then all of the * intermediate redirects (if any) would be followed until * there were no more redirects. However, because * FollowRedirects is not 1, FinalRedirectUrl contains * the next redirect URL. lnLoopCount = 0 DO WHILE (lnStatus = 302) ? "Redirect URL: " + loHttp.FinalRedirectUrl lcNextUrl = loHttp.FinalRedirectUrl lnSuccess = loHttp.HttpNoBody("GET",lcNextUrl,loResp) IF (lnSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loResp CANCEL ENDIF lnStatus = loResp.StatusCode ? "HTTP Response Status: " + STR(lnStatus) * For safety, prevent infinite loops by * keeping a loopCount and only allows following a max * of 10 redirects: lnLoopCount = lnLoopCount + 1 IF (lnLoopCount > 10) THEN ? "Too many redirects." RELEASE loHttp RELEASE loResp CANCEL ENDIF ENDDO RELEASE loHttp RELEASE loResp |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.