2017-01-13 52 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會是一種更有效的方法。