(JavaScript) Manually Follow HTTP Redirects
Demonstrates how to manually follow redirects for an HTTP GET.
var success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
var http = new CkHttp();
// 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;
var resp = new CkHttpResponse();
success = http.HttpNoBody("GET","http://yandex.ru/",resp);
if (success == false) {
console.log(http.LastErrorText);
return;
}
var status = resp.StatusCode;
console.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.
var loopCount = 0;
while ((status == 302)) {
console.log("Redirect URL: " + http.FinalRedirectUrl);
var nextUrl = http.FinalRedirectUrl;
success = http.HttpNoBody("GET",nextUrl,resp);
if (success == false) {
console.log(http.LastErrorText);
return;
}
status = resp.StatusCode;
console.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) {
console.log("Too many redirects.");
return;
}
}
|