Sample code for 30+ languages & platforms
B4X

Http Follow Redirects

See more HTTP Examples

Demonstrates how to automatically follow redirects.

Chilkat B4X Downloads

B4X
Dim http As ChilkatHttp
http.Initialize("http")

'  If you would like to see the HTTP session log to see how 
'  HTTP redirects were followed.
http.SessionLogFilename = "c:/temp/qa_output/sessionLog.txt"

'  Run the test using this URL.
'  (Works while httpbin.org keeps the test endpoint available.)

Dim url As String = "https://httpbin.org/redirect-to?url={$redirectUrl}&status_code={$statusCode}"

http.SetUrlVar("redirectUrl", "https://chilkatsoft.com/helloWorld.json")
http.SetUrlVar("statusCode", "302")

Dim jsonResponse As String = http.QuickGetStr(url)
If http.LastMethodSuccess = False Then
    Log(http.LastErrorText)
    Return
End If


Log("Response status code: " & http.LastStatus)
Log(jsonResponse)

'  How to tell if the request was redirected, and if so,
'  what was the final redirect URL?
Log("Was Redirected: " & http.WasRedirected)
Log("Final Redirect URL: " & http.FinalRedirectUrl)

'  Output:

'  Response status code: 200
'  { "hello": "world" }
'  Was Redirected: True
'  Final Redirect URL: https://chilkatsoft.com/helloWorld.json


'  -----------------------------------------------
'  Here are the contents of the sessionLog.txt

'  ---- Sending Sat, 30 Aug 2025 11:41:37 GMT ----
'  GET /redirect-to?url=https%3A%2F%2Fchilkatsoft.com%2FhelloWorld.json&status_code=302 HTTP/1.1
'  Host: httpbin.org
'  Accept: */*
'  Accept-Encoding: gzip
'  
'  
'  ---- Received Sat, 30 Aug 2025 11:41:37 GMT ----
'  HTTP/1.1 302 FOUND
'  Date: Sat, 30 Aug 2025 11:41:38 GMT
'  Content-Type: text/html; charset=utf-8
'  Content-Length: 0
'  Connection: keep-alive
'  Server: gunicorn/19.9.0
'  Location: https://chilkatsoft.com/helloWorld.json
'  Access-Control-Allow-Origin: *
'  Access-Control-Allow-Credentials: true
'  
'  
'  ---- Sending Sat, 30 Aug 2025 11:41:38 GMT ----
'  GET /helloWorld.json HTTP/1.1
'  Host: chilkatsoft.com
'  Accept: */*
'  Accept-Encoding: gzip
'  
'  
'  ---- Received Sat, 30 Aug 2025 11:41:38 GMT ----
'  HTTP/1.1 200 OK
'  Content-Type: application/json
'  Last-Modified: Sun, 20 Aug 2023 11:36:27 GMT
'  Accept-Ranges: bytes
'  ETag: "34c27f8e5ad3d91:0"
'  Server: Microsoft-IIS/10.0
'  X-Powered-By: ASP.NET
'  Date: Sat, 30 Aug 2025 11:41:38 GMT
'  Content-Length: 22
'  
'  { "hello": "world" }