HTTP响应代码C#

时间:2017-12-28 07:05:04

标签: c# asp.net webforms http-response-codes

以下是

下面的代码
        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是回复的网址。问题是代码的最后一行没有返回或得到任何东西。我在这里缺少什么?

编辑:主要的问题是,无论我尝试什么,我只得到1个响应代码,大部分是200:好的。但是,对于youtube.com(ect),根据https://tools.pingdom.com/#!/fMjhr/youtube.com,必须有74个OK(200)响应,1个无内容(204)响应和2个永久移动(301)响应。我怎么得到它们?

1 个答案:

答案 0 :(得分:1)

你误解了pingdom显示的结果。

Pingdom就像浏览器一样请求一个网页:它加载页面本身,以及页面的所有资源引用:样式表,脚本,图像等。

您的代码仅加载主HTML页面,该页面具有良好的可用性并始终返回200 OK。

如果您想要重现pingdom的结果,您还需要解析HTML页面并加载页面的资源。请记住,解析HTML是一项非常重要的任务(浏览器供应商在其中投入了大量精力),因此您可能需要重新考虑这是否值得花时间。