Http Request response time within C# application
I found that a webclient with custom settings gave me the fastest result.
Personally I was building a framework for web crawling &amp; scraping, where you want it to do the requests quickly. 

Might be an alternative to check out.

public class DefaultWebClient : WebClient {
    public DefaultWebClient() {
        ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) =&gt; true;
        ServicePointManager.DefaultConnectionLimit = Int32.MaxValue;
        ServicePointManager.Expect100Continue = false;
    }

    protected override WebRequest GetWebRequest(Uri address) {
        var request = base.GetWebRequest(address) as HttpWebRequest;

        if (request != null) {
            //This might work in your case, it didnt do the trick for me.
            //request.Method = WebRequestMethods.Http.Head;
            request.Proxy = null;
            request.Timeout = 5000;
            request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
        }

        return request;
    }
}


This, in combination with retrieving the response url should do the trick.

    protected override WebResponse GetWebResponse(WebRequest request) {
        var response = base.GetWebResponse(request);
        if (response != null) {
            var responseUri = response.ResponseUri;
            // Redirect found.
        }
        else {
            // No Action.
        }

        return response;
    }


If you do a lot of requests to get the redirects, it might be a good idea to raise it as an event.