HTTP 响应代码 C#
HTTP Response Codes C#
下面是代码
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。问题是代码的最后一行没有 return 或没有得到任何东西。我在这里错过了什么?
编辑:主要问题是,无论我尝试什么,我都只得到 1 个响应代码,而且大部分是 200:OK。但是,对于 youtube.com(ect),根据 https://tools.pingdom.com/#!/fMjhr/youtube.com,必须有 74 个 OK(200) 响应、1 个 No Content(204) 响应和 2 个 Moved Permanently(301) 响应。我要如何获得它们?
您误解了 pingdom 显示的结果。
Pingdom 像浏览器一样请求网页:它加载页面本身,以及页面引用的所有资源:样式表、脚本、图像等.
您的代码仅加载主 HTML 页面,该页面可用性高且始终 returns 200 OK。
如果您想重现 pingdom 的结果,您需要解析 HTML 页面并加载该页面的资源。请记住,解析 HTML 是一项非常重要的任务(浏览器供应商为此付出了很多努力),因此您可能需要重新考虑这是否值得您花时间。
下面是代码
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。问题是代码的最后一行没有 return 或没有得到任何东西。我在这里错过了什么?
编辑:主要问题是,无论我尝试什么,我都只得到 1 个响应代码,而且大部分是 200:OK。但是,对于 youtube.com(ect),根据 https://tools.pingdom.com/#!/fMjhr/youtube.com,必须有 74 个 OK(200) 响应、1 个 No Content(204) 响应和 2 个 Moved Permanently(301) 响应。我要如何获得它们?
您误解了 pingdom 显示的结果。
Pingdom 像浏览器一样请求网页:它加载页面本身,以及页面引用的所有资源:样式表、脚本、图像等.
您的代码仅加载主 HTML 页面,该页面可用性高且始终 returns 200 OK。
如果您想重现 pingdom 的结果,您需要解析 HTML 页面并加载该页面的资源。请记住,解析 HTML 是一项非常重要的任务(浏览器供应商为此付出了很多努力),因此您可能需要重新考虑这是否值得您花时间。