PowerShell
PowerShell
Manually Follow HTTP Redirects
See more HTTP Examples
Demonstrates how to manually follow redirects for an HTTP GET.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$http = New-Object 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
$resp = New-Object Chilkat.HttpResponse
$success = $http.HttpNoBody("GET","http://yandex.ru/",$resp)
if ($success -eq $false) {
$($http.LastErrorText)
exit
}
$status = $resp.StatusCode
$("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.
$loopCount = 0
while (($status -eq 302)) {
$("Redirect URL: " + $http.FinalRedirectUrl)
$nextUrl = $http.FinalRedirectUrl
$success = $http.HttpNoBody("GET",$nextUrl,$resp)
if ($success -eq $false) {
$($http.LastErrorText)
exit
}
$status = $resp.StatusCode
$("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 -gt 10) {
$("Too many redirects.")
exit
}
}