我怎样才能得到一个网站的加载时间和体积

本文关键字:网站 一个 加载 时间 | 更新日期: 2023-09-27 17:51:21

我正在编写一个程序,该程序应该测量我作为输入的网站的加载时间和容量。

这里我有一些代码,返回只是网站的响应时间,但我想要的总加载时间和项目的总量,如(图片,JavaScript, HTML等)。

public string Loading_Time(string url)
{
    Stopwatch stopwatch = new Stopwatch();
    WebClient client = new WebClient();
    client.Credentials = CredentialCache.DefaultCredentials;
    stopwatch.Start();
    string result = client.DownloadString(url);
    stopwatch.Stop();
    return stopwatch.Elapsed.Milliseconds.ToString();
}

我怎么才能做到呢?

我怎样才能得到一个网站的加载时间和体积

这有点难。首先使用类似于HTMLAgilityPack或类似的东西来解析从原始请求返回的html(不要尝试自己解析html !)

扫描解析后的HTML的对象表示,并决定要测量的大小。通常是

  • 包含,如CSS,或javascript
  • IMG和BUTTON元素中的图像,以及背景图像
困难的是,通常图像被指定为css样式表的一部分-所以你要尝试解析每个css文件来获得这些吗?

对于HTML的原始请求,您可以获得下载字符串的字节大小。以这个数字作为你的"音量"。

现在以同样的方式为每个js, css, image等文件单独请求。但是您感兴趣的是每次下载的字节大小——当您发出HTTP请求时,它随时可用。将每个项目的字节大小加到总数中。

完成后,您将获得该网页所有工件的总字节大小。