小编use*_*942的帖子

使用HtmlUnit下载文件

我想下载一个网站的xls文件.当我点击链接下载文件时,我会收到一个javascript确认框.我在下面处理它

    ConfirmHandler okHandler = new ConfirmHandler(){
            public boolean handleConfirm(Page page, String message) {
                return true;
            }
        };
    webClient.setConfirmHandler(okHandler);
Run Code Online (Sandbox Code Playgroud)

有一个下载文件的链接.

<a href="./my_file.php?mode=xls&amp;w=d2hlcmUgc2VsbElkPSd3b3JsZGNvbScgYW5kIHN0YXR1cz0nV0FJVERFTEknIGFuZCBkYXRlIDw9IC0xMzQ4MTUzMjAwICBhbmQgZGF0ZSA%2BPSAtMTM1MDgzMTU5OSA%3D" target="actionFrame" onclick="return confirm('Do you want do download XLS file?')"><u>Download</u></a>
Run Code Online (Sandbox Code Playgroud)

我点击链接使用

HTMLPage x = webClient.getPage("http://working.com/download");
HtmlAnchor anchor = (HtmlAnchor) x.getFirstByXPath("//a[@target='actionFrame']");
anchor.click();
Run Code Online (Sandbox Code Playgroud)

handeConfirm()方法已被执行.但我不知道如何从服务器保存文件流.我尝试使用下面的代码查看流.

anchor.click().getWebResponse().getContentAsString();
Run Code Online (Sandbox Code Playgroud)

但是,结果与页面x相同.任何人都知道如何从服务器捕获流?谢谢.

download htmlunit

11
推荐指数
2
解决办法
1万
查看次数

标签 统计

download ×1

htmlunit ×1