【发布时间】:2017-12-28 07:05:04
【问题描述】:
下面是代码
List<int> j = new List<int>();
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(result.SiteURL);
webRequest.AllowAutoRedirect = false;
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
j.Add((int)response.StatusCode);
我想要做的是,获取所有响应代码,将它们分开(如 2xx、3xx 4xx-5xx)并将它们放在不同的列表中。因为我需要他们的数字,比如有多少 4xx 响应或有多少 200 响应。或者有其他方法吗?
result.SiteURL 是响应的 URL。问题是代码的最后一行没有返回或得到任何东西。我在这里错过了什么?
编辑:主要问题是无论我尝试什么,我都只会得到 1 个响应代码,而且大部分是 200:OK。但是,对于 youtube.com(ect),根据https://tools.pingdom.com/#!/fMjhr/youtube.com,必须有 74 个 OK(200) 响应、1 个无内容 (204) 响应和 2 个已永久移动 (301) 响应。我将如何获得它们?
【问题讨论】:
-
另见 stackoverflow.com/a/11618739/34092 重定向状态代码。
-
ConcurrentDictionary<int, response.StatusCode> resp = new ConcurrentDictionary<int, response.StatusCode>()对吗?它没有看到该行的response.StatusCode。它说:**'response' 是一个变量,但用作类型**@mjwills -
ConcurrentDictionary<HttpStatusCode, int> resp = new ConcurrentDictionary<HttpStatusCode, int>()key是状态码,value是count。 -
非常感谢先生@mjwills
标签: c# asp.net webforms http-response-codes