在 java 中,如何找到一个连接为获取 URL 的所有部分而发出的请求数?

In java how to find the number of requests a connection makes to get all parts of a URL?

如果 URL 指向包含图像的页面,html、javascripts、pdf 文件...

如何确定获取所有这些部分需要多少请求?以及每个部分的大小?

我的代码如下所示:

      try
      {
        url=new URL(aUrl);
        connection=(HttpURLConnection)url.openConnection();
        connection.setRequestMethod("HEAD");
//        connection.connect();
        size=connection.getContentLengthLong();
        Out("URL  : "+aUrl);
        if (size<0) Out("Could not determine file size.");
        else Out("Size : " + size+" bytes");
        connection.getInputStream().close();
      }
      catch (Exception e) { e.printStackTrace(); }

它只会获取URL中HEAD指定的大小,我想这就是总大小,我如何计算出每个部分的大小:html,javascript, 图片... ?

更重要的是,有多少请求?

除了获取所有内容之外,没有其他简单的方法可以获取此信息。您通过第一个请求获得的顶级 HTML 文档包含指向其他文档(图像、样式 sheets、Javascript、...)的链接,这些文档又可能包含更多链接(例如从样式 sheet 引用的背景图像)。这些其他资源甚至可能驻留在其他服务器上。

为了使事情变得更加复杂,页面中的 Javascript 可能会动态加载更多资源。