Xojo Plugin
Xojo Plugin
Manually Follow HTTP Redirects
See more HTTP Examples
Demonstrates how to manually follow redirects for an HTTP GET.Chilkat Xojo Plugin Downloads
Dim success As Boolean
success = False
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Dim http As New 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:
http.FollowRedirects = False
Dim resp As New Chilkat.HttpResponse
success = http.HttpNoBody("GET","http://yandex.ru/",resp)
If (success = False) Then
System.DebugLog(http.LastErrorText)
Return
End If
Dim status As Int32
status = resp.StatusCode
System.DebugLog("HTTP Response Status: " + Str(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 Int32
loopCount = 0
While (status = 302)
System.DebugLog("Redirect URL: " + http.FinalRedirectUrl)
Dim nextUrl As String
nextUrl = http.FinalRedirectUrl
success = http.HttpNoBody("GET",nextUrl,resp)
If (success = False) Then
System.DebugLog(http.LastErrorText)
Return
End If
status = resp.StatusCode
System.DebugLog("HTTP Response Status: " + Str(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
System.DebugLog("Too many redirects.")
Return
End If
Wend