C#HttpWebRequest获取总页面大小

本文关键字:获取 C#HttpWebRequest | 更新日期: 2023-09-27 18:19:45

你好,我正试图通过图像脚本等获取HttpWebRequest的整个页面大小。如果一个用户通过web浏览器访问某个页面,我需要计算该页面的总流量。内容长度以字节大小表示内容的长度。它实际上是文档长度。但我需要得到所有的流量也从图像和脚本

这是我的代码到目前为止

NetworkCredential cred = new NetworkCredential("username", "password");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);            
request.Proxy = new System.Net.WebProxy("proxy", true);
request.Proxy.Credentials = cred;
request.UserAgent = @"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5";
using (HttpWebResponse requestresponse = (HttpWebResponse)request.GetResponse())
                {
                    Headers = requestresponse.Headers;
                    Url = requestresponse.ResponseUri;                    
                   int ContentLength;
                    if (int.TryParse(response.Headers.Get("Content-Length"), out ContentLength))
                    {                    
                        //This is One way i get the content leangth
                        WebPageSize = ContentLength;
                    }
                        //This is another way i get the content leangth
                    WebPageSize = request.ContentLength;
                    return ProcessContent(requestresponse);                   
                }

此外,我的标题内容长度并不能保证服务器会回复它。

有什么建议吗?

C#HttpWebRequest获取总页面大小

如果你只需要检查一次大小,为什么不尝试使用Firebug的Net面板(Firefox扩展)或其他浏览器的等效工具?它会告诉你在加载网页时执行的所有请求的大小。

如果你是进行测量的人,并且可以保证不会有其他网络流量,你可以尝试以下操作:

从IPv4Statistics 获取接收的TotalBytes

在WebBrowserControl中打开页面,等待所有资源加载完毕。

再次获取总字节数。

根据这两个数字,你可以计算出总尺寸。

以下是一篇关于使用IPv4Statistics:的文章

http://www.m0interactive.com/archives/2008/02/06/how_to_calculate_network_bandwidth_speed_in_c_/