1

我想问是否可以在 C# 中以编程方式获取特定的站点内容大小。我的意思是:网站的完整大小,包括头部或正文中引用的所有图像和脚本等。例如,如果我们有一个网站http://www.google.com,我想获得它的总大小,包括徽标、引用的脚本等等,因为它将呈现给用户,而不仅仅是主页。

这是我的意思的图片:(点击查看完整尺寸)

如果我们在 IE 9 中使用 IE Developer tool,并开始捕获网络会话上的流量,然后我们点击 google.com,它会显示加载的文件总数(.js、.png 等)和加载时间(以毫秒为单位) .

我尝试使用 webrequest 做类似的事情,但我只得到 43kb 而不是 IE 开发工具得到的 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 和其他文件?非常感谢!

4

1 回答 1

0

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

于 2012-07-23T14:35:05.580 回答