接收到最终状态码200,但它们是301->302→200.

本文关键字:301- 状态 | 更新日期: 2023-09-27 17:51:25

我使用

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

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

请告诉我。代码有什么错误吗?

接收到最终状态码200,但它们是301->302→200.

这是因为HttpWebRequest自动遵循重定向,只给您最后的状态码。如果不需要,可以将AllowAutoRedirect属性设置为false:

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

请注意,它将在第一个请求之后停止,但是您必须手动创建一个新的请求来跟踪重定向。