1

当我做这样的事情时,在 htmlunit 中:

如果 myLink 是要下载的文件的链接引用(当我单击该链接时,它会将文件下载到我的硬盘中。)

InputStream is= myLink.click().getWebResponse().getContentAsStream();

那么 is 的值将是文件的内容还是其他内容?

4

1 回答 1

0

click()方法指出

模拟单击此元素,在单击该元素后返回具有焦点的窗口中的页面。请注意,返回的页面可能与原始页面相同,也可能不同,具体取决于单击的元素类型、JavaScript 动作侦听器的存在等。

因此,如果您的链接是一个没有任何重定向的基本锚点javascript,您将获得一个Page表示通过链接返回的内容的对象。打电话

getWebResponse().getContentAsStream();

因此,该Page对象上的响应内容将作为输入流返回。这InputStream也可以是任何东西:一些文件内容、HTML、JSON,即。服务器在您单击链接时发送的 HTTP 请求的 HTTP 响应中返回的任何内容。

于 2013-10-02T17:00:12.350 回答