我想问一下,是否有可能以C#,一种特定的网站内容大小以编程方式获取。大小我的意思是:网站的全部大小,包括头部或身体中引用的所有图像和脚本等等。例如,如果我们有一个网站http://www.google.com我希望得到它的总大小,包括徽标,脚本引用等等,因为它将呈现给用户而不仅仅是主页面。如何使用其他文件和脚本计算页面的总大小
这里是一个图片我的意思:(点击查看原图)
如果我们在IE 9使用IE Developer工具,并开始捕捉对网络会话流量,比我们打谷歌它显示加载的总文件(.js,.png等)和加载时间(以毫秒为单位)。
我尝试使用webrequest做类似的事情,但IE开发人员工具获得的结果只有43kb而不是101。
下面是代码:
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和其他文件网站/在特定页面引用的总大小?非常感谢!
我猜想google可能会根据它认为你可以处理的内容交付不同的内容。当我查看谷歌主页的源代码(FF)时,只需要一个字符数就可以得到超过10万个字符,比IE告诉你的字符高一些。我猜你的WebRequest方法真的会得到43k的文件。尝试一下适当的浏览器模拟(即设置用户代理等),看看你是否得到一个不同大小的文件...当然,谷歌会告诉你不同的内容登录相比,不... – Chris 2012-07-23 14:32:10