Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#HttpWebRequest获取总页面大小_C#_.net - Fatal编程技术网

C#HttpWebRequest获取总页面大小

C#HttpWebRequest获取总页面大小,c#,.net,C#,.net,您好,我正在尝试使用HttpWebRequest从图像脚本等获取整个页面大小。如果一个用户通过web浏览器访问该页面,我需要计算该页面的总流量。内容长度为我提供了以字节大小为单位的内容长度。它实际上是文档长度。但是我需要从图片和脚本中获取所有流量 这是到目前为止我的代码 NetworkCredential cred = new NetworkCredential("username", "password"); HttpWebRequest request = (HttpWebRequest)W

您好,我正在尝试使用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);                   
                }
另外,我也不保证服务器会回复标题内容长度


有什么建议吗?

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

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

从IPV4统计中获取TotalBytesReceived

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

再次获取总字节数

根据这两个数字,您可以计算总大小

以下是一篇关于使用IPV4统计信息的文章:


你所说的页面流量是什么意思?你想计算你的网页的总访客数吗?不,我需要检查是否有一个用户登录该页面,然后页面将处理多少流量才能全部加载。我需要网页的总大小及其图像、javascripts和css以及所有loadig trafic需求,因为我需要以自动方式为许多页面制作一个工具,因此关于您的代码,在下载html页面后(只需调用HttpWebResponse对象的GetResponseStream)您可以解析html并获取相关资源(css、javascripts、images..)。是的,这是一个选项,可以逐个解析所有资源。但是我在考虑webBrowser控件,这个控件是否有可能计算解析的内容图像js的总大小??