2017-01-13 28 views
-1

我想计算我的网站的HTML的KB或字节的大小。我知道有几个网站可以为我提供这个价值,但我不想使用它们。我想使用我自己的代码。你可以帮我吗? 谢谢!如何用c#测量网站的html大小(KB)?

+0

大多数网站都包含动态内容,因此大小不会被固定。如果您想最小化流量,请改用[http HEAD](http://stackoverflow.com/questions/3268926/head-with-webclient)请求。大小(如果提供)将位于标题字段“Content-Length”中。 –

回答

1

如果你想看到的HTML的大小由浏览器最初加载,你可以使用WebClient象下面这样:

using (var client = new WebClient()) 
{ 
    string s = client.DownloadString(url); 
    // s contains the whole document text 
    int strCount = s.Length; 
    int byteCount = System.Text.Encoding.Unicode.GetByteCount(s); 
} 

但是,请记住,实际下载的数据可能会增加,因为AJAX调用和动态创建的DOM元素(文档准备好之后)。

+0

然后他可以通过获取请求站点的字节数来获得acutal的“大小”... System.Text.ASCIIEncoding.Unicode.GetByteCount(s); – oopbase

+1

@oopbase - 感谢您的建设性意见。我错过了这个问题的目的:)。 – Alexei

+0

请至少使用'System.Text.Encoding.Unicode'。 'System.Text.ASCIIEncoding.Unicode'有效,但看起来不正确,没有任何意义。 –

1

一个有效的方法是使用WebRequest类并阅读ContentLength属性,而不实际读取内容,以避免不必要的数据下载。

此外,正如@Manfred Radlwimmer所述,使用HTTP HEAD会是一种更有效的方法。