2017-01-13 5 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を使用する方が効率的です。

関連する問題