我试图从 HttpWebRequest
返回的 HttpWebResponse
对象中获取HTTP状态代码 . 我希望得到实际数字(200,301,302,404等),而不是文字说明 . ("Ok","MovedPermanently"等)数字是否隐藏在响应对象中的某个属性中?除了创建一个大的开关功能之外的任何想法?谢谢 .
HttpWebRequest webRequest = (HttpWebRequest)WebRequest
.Create("http://www.gooogle.com/");
webRequest.AllowAutoRedirect = false;
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
//Returns "MovedPermanently", not 301 which is what I want.
Console.Write(response.StatusCode.ToString());
5 回答
只需将
StatusCode
强制为int
即可 .HttpStatusCode(
response.StatusCode
的类型)是一个枚举,其中成员的值与HTTP状态代码匹配,例如您必须要小心,4xx和5xx范围内的服务器响应会抛出WebException . 您需要捕获它,然后从WebException对象获取状态代码:
根据'dtb',您需要使用HttpStatusCode,但是在'zeldi'之后,您需要特别注意代码响应> = 400 .
这对我有用: