C# 如何使用附加文件和脚本计算页面的总大小

C# 如何使用附加文件和脚本计算页面的总大小,c#,asp.net,C#,Asp.net,我想问一下,是否有可能以C#的编程方式获取特定的网站内容大小。我所说的尺寸是指:网站的完整尺寸,包括头版或正文中引用的所有图像和脚本等。例如,如果我们有一个网站,我想得到它的总大小,包括标志,脚本引用,等等,因为它将呈现给用户,而不仅仅是主页 这是我的意思:(点击查看全尺寸) 如果我们在IE9中使用IE开发者工具,并开始捕获网络会话上的流量,那么我们点击google.com,它会显示加载的总文件(.js、.png等)和加载时间(以毫秒为单位) 我尝试使用webrequest做类似的事情,但我只

我想问一下,是否有可能以C#的编程方式获取特定的网站内容大小。我所说的尺寸是指:网站的完整尺寸,包括头版或正文中引用的所有图像和脚本等。例如,如果我们有一个网站,我想得到它的总大小,包括标志,脚本引用,等等,因为它将呈现给用户,而不仅仅是主页

这是我的意思:(点击查看全尺寸)

如果我们在IE9中使用IE开发者工具,并开始捕获网络会话上的流量,那么我们点击google.com,它会显示加载的总文件(.js、.png等)和加载时间(以毫秒为单位)

我尝试使用webrequest做类似的事情,但我只得到43kb,而不是IE开发者工具得到的101 KB

代码如下:

WebRequest request = WebRequest.Create(textBox2.Text.ToString());     
request.Credentials = CredentialCache.DefaultCredentials;           
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();      
StreamReader reader = new StreamReader(dataStream);          
string responseFromServer = reader.ReadToEnd();         
byte[] bytes = Encoding.ASCII.GetBytes(responseFromServer);
MessageBox.Show(ConvertSize(responseFromServer.Length) + "  -  " + responseFromServer.Length.ToString());
reader.Close();
dataStream.Close();
response.Close();

我如何获得一个站点的总大小,包括该特定页面中使用/引用的所有图像、js和其他文件?非常感谢

您的WebRequest只是获取HTML。它不会解析以获取任何引用文件(图像、CSS、javascript等)。像
WebBrowser
控件这样的控件可以让你实现浏览器的自动化

我想谷歌可能会根据你认为可以处理的内容提供不同的内容。当我查看google主页的来源(在FF上)并进行字符计数时,它的字符数刚刚超过10万个,比IE告诉你的略高。我猜你的WebRequest方法真的得到了43k的文件。使用适当的浏览器模拟(如设置用户代理等)重试,然后查看是否得到不同大小的文件。。。当然,谷歌会向你展示不同的登录内容,而不是…嗨,谢谢你的回答。知道怎么做吗?这只是一个解释,但不是对OP问题的回答。这里有一些提示: