B4X
B4X
Manually Follow HTTP Redirects
See more HTTP Examples
Demonstrates how to manually follow redirects for an HTTP GET.Chilkat B4X Downloads
Dim success As Boolean = False
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As ChilkatHttp
http.Initialize("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:
http.FollowRedirects = False
Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpNoBody("GET", "http://yandex.ru/", resp)
If success = False Then
Log(http.LastErrorText)
Return
End If
Dim status As Int = resp.StatusCode
Log("HTTP Response Status: " & status)
' 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.
Dim loopCount As Int = 0
Do While (status = 302)
Log("Redirect URL: " & http.FinalRedirectUrl)
Dim nextUrl As String = http.FinalRedirectUrl
success = http.HttpNoBody("GET", nextUrl, resp)
If success = False Then
Log(http.LastErrorText)
Return
End If
status = resp.StatusCode
Log("HTTP Response Status: " & status)
' For safety, prevent infinite loops by
' keeping a loopCount and only allows following a max
' of 10 redirects:
loopCount = loopCount + 1
If loopCount > 10 Then
Log("Too many redirects.")
Return
End If
Loop