Search code examples
c#.netwebclient

C# detect page redirect


I am trying to determine if a qualification exists on http://www.accreditedqualifications.org.uk in the form:

http://www.accreditedqualifications.org.uk/qualification/50084811.seo.aspx

50084811 being a qualification aim entered by the end user.

If they enter an invalid one e.g.

http://www.accreditedqualifications.org.uk/qualification/50084911.seo.aspx

They are redirected to an error page (with incorrect http headers as far as I can see). Is there a way to detect the redirect in C#. I would hope to be able to detect the redirect in http headers (thinking it will issue 2) or similar as oppose to having to download the whole page. This could be happening a lot so I would like to minimize traffic.

Edit

Used this to have a look at the headers looks like two are issued for an invalid page:

http://pageheaders.com/display-http-headers.php?url=http%3A%2F%2Fwww.accreditedqualifications.org.uk%2Fqualification%2F50084911.seo.aspx&agent=ie6


Solution

  • The simplest way is probably to fetch the content using a HEAD request (set Method to "HEAD") in an HttpWebRequest having set AllowAutoRedirect to false. I can't remember offhand whether that will cause an exception or not, but either way it should be easy to handle.