Sample code for 30+ languages & platforms
Visual Basic 6.0

Manually Follow HTTP Redirects

See more HTTP Examples

Demonstrates how to manually follow redirects for an HTTP GET.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim http As New ChilkatHttp

' 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 = 0

Dim resp As New ChilkatHttpResponse
success = http.HttpNoBody("GET","http://yandex.ru/",resp)
If (success = 0) Then
    Debug.Print http.LastErrorText
    Exit Sub
End If

Dim status As Long
status = resp.StatusCode
Debug.Print "HTTP Response Status: " & status

' 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.

Dim loopCount As Long
loopCount = 0

Do While (status = 302)

    Debug.Print "Redirect URL: " & http.FinalRedirectUrl

    Dim nextUrl As String
    nextUrl = http.FinalRedirectUrl
    success = http.HttpNoBody("GET",nextUrl,resp)
    If (success = 0) Then
        Debug.Print http.LastErrorText
        Exit Sub
    End If

    status = resp.StatusCode
    Debug.Print "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
        Debug.Print "Too many redirects."
        Exit Sub
    End If

Loop