接收最终状态代码200但它们是301-> 302-> 200

时间:2014-03-22 16:50:31

标签: c# c#-4.0

我正在使用

HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url); 
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
//myHttpWebResponse.StatusCode

为此我收到200但实际状态代码是301-> 302-> 200 http://brita.com/

请告诉我。代码中是否有任何错误。

提前致谢。

1 个答案:

答案 0 :(得分:1)

这是因为HttpWebRequest会自动跟随重定向,只会提供最后一个状态代码。如果您不想要,可以将AllowAutoRedirect属性设置为false:

HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url); 
myHttpWebRequest.AllowAutoRedirect = false;
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
//myHttpWebResponse.StatusCode

请注意,它会在第一次请求后停止,但您必须手动创建新请求以跟进重定向。