AutoIt
AutoIt
Manually Follow HTTP Redirects
See more HTTP Examples
Demonstrates how to manually follow redirects for an HTTP GET.Chilkat AutoIt Downloads
Local $bSuccess = False
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oHttp = ObjCreate("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:
$oHttp.FollowRedirects = False
$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpNoBody("GET","http://yandex.ru/",$oResp)
If ($bSuccess = False) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
Local $iStatus = $oResp.StatusCode
ConsoleWrite("HTTP Response Status: " & $iStatus & @CRLF)
; The FinalRedirectUrl property will contain the redirect URL
; If FollowRedirects was equal to True, then all of the
; intermediate redirects (if any) would be followed until
; there were no more redirects. However, because
; FollowRedirects is not True, FinalRedirectUrl contains
; the next redirect URL.
Local $iLoopCount = 0
While ($iStatus = 302)
ConsoleWrite("Redirect URL: " & $oHttp.FinalRedirectUrl & @CRLF)
Local $sNextUrl = $oHttp.FinalRedirectUrl
$bSuccess = $oHttp.HttpNoBody("GET",$sNextUrl,$oResp)
If ($bSuccess = False) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
$iStatus = $oResp.StatusCode
ConsoleWrite("HTTP Response Status: " & $iStatus & @CRLF)
; For safety, prevent infinite loops by
; keeping a loopCount and only allows following a max
; of 10 redirects:
$iLoopCount = $iLoopCount + 1
If ($iLoopCount > 10) Then
ConsoleWrite("Too many redirects." & @CRLF)
Exit
EndIf
Wend