java - HtmlUnit:确定文件大小

标签 java htmlunit

我正在通过 HtmlUnit 从 Web 下载文件。 这是我的(工作)代码的样子:

Page dlPage = client.getPage(url);
FileOutputStream fos = new FileOutputStream(destinationFile);
try
{
  IOUtils.copy(dlPage.getWebResponse().getContentAsStream(), fos);
}
catch (Exception ex)
{
  ex.printStackTrace();
}
finally
{
  fos.close();
}

我想显示下载进度。因此我需要知道文件大小。 Content-Length header 由服务器发送,但问题是我可以在文件下载后读取 header 。 getPage() 方法在文件下载完成之前处于阻塞状态。

有什么方法可以先在 HtmlUnit 中读取响应 header ,然后再读取内容?或者有没有其他方法可以解决这个问题?

谢谢!

最佳答案

您可以使用URLConnectiongetContentLength()方法获取连接建立时的长度。

关于java - HtmlUnit:确定文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47496551/

相关文章:

java - org.openqa.selenium.firefox.FirefoxDriver 类型不可访问

java - Spring Cache 与 JPA 和规范

javascript - 如何在 Windows 后台运行 Selenium 浏览器

java - 使用 HtmlUnit 单击 javascript 按钮

java - HtmlUnit - 抓取数据

java - 在 Java 中实现公式和 Sigma Sum?

java - 在 IntelliJ IDEA 中在哪里添加 -ea 等编译器选项?

java - Spring 自动添加 'X-Total-Count' header

xml - XPath 定位具有特定文本解析 HTML 表格的单元格

java - HtmlUnit 无法获取框架内容