C#使用HttpWebRequest和HttpWebResponse跟踪Url每一步重定向地址

C#开发 2014-07-01 41901阅读 0评论 0收藏 收藏本文

在实际开发过程中,往往我们需要从一个已知的URL跟踪其在网络中的重定向的地址列表,参考了查了一下资料,Stackoverflow上的解决方案:http://stackoverflow.com/questions/17990604/get-a-collection-of-redirected-urls-from-httpwebresponse

public static string RedirectPath(string url)
{
    StringBuilder sb = new StringBuilder();
    string location = string.Copy(url);
    while (!string.IsNullOrWhiteSpace(location))
    {
        sb.AppendLine(location); // you can also use 'Append'
        HttpWebRequest request = HttpWebRequest.CreateHttp(location);
        request.AllowAutoRedirect = false;
        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            location = response.GetResponseHeader("Location");
        }
    }
    return sb.ToString();
}
 

转载请注明:图享网 » C#使用HttpWebRequest和HttpWebResponse跟踪Url每一步重定向地址

文章评论

获取验证码