我想問一下,是否有可能以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