Md Rahatur Rahman
Md Rahatur Rahman

Reputation: 3244

How to get a redirection response

Say if I put www.abc.com in the browser, the browser automatically gets redirected to www.xyz.com. I need to get that redirect url from server side. That is, if www.abc.com returns a redirect url www.xyz.com, how can I request this redirect URL (www.xyz.com) from the original URL (www.abc.com)?

Upvotes: 11

Views: 24249

Answers (1)

Ian Mercer
Ian Mercer

Reputation: 39277

Here's a snippet from a web crawler that shows how to handle redirects:

  HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
  webRequest.AllowAutoRedirect = false;  // IMPORTANT
  webRequest.UserAgent = ...;
  webRequest.Timeout = 10000;           // timeout 10s

  // Get the response ...
  using (webResponse = (HttpWebResponse)webRequest.GetResponse())
  {   
     // Now look to see if it's a redirect
     if ((int)webResponse.StatusCode >= 300 && (int)webResponse.StatusCode <= 399)
     {
       string uriString = webResponse.Headers["Location"];
       Console.WriteLine("Redirect to " + uriString ?? "NULL");
       ...
     }
  }

Upvotes: 23

Related Questions