Java使用下载对话框从URL下载文件

时间:2014-04-05 19:10:23

标签: javascript java download

我想从最初显示某些html的网址下载文件,然后在2-3秒后显示下载对话框。显然,如果我这样做:

     try {
            URL url = new URL("http://my.url");
            HttpURLConnection con = (HttpURLConnection) url.openConnection();

            con.setRequestProperty("Connection", "Keep-Alive");
            con.setRequestProperty("Content-Length",
                    Integer.toString(Integer.MAX_VALUE));
            con.setReadTimeout(Integer.MAX_VALUE);
            con.setConnectTimeout(Integer.MAX_VALUE);
            con.connect();

            bis = new BufferedInputStream(con.getInputStream(), 4096);

            byteArray = IOUtils.toByteArray(bis);

            FileUtils.writeByteArrayToFile(new File("myFile"), byteArray);


        } catch (Exception e) {
        }

我将保存显示的.html而不是保存对话框中显示的文件。 我应该如何更改代码才能执行此操作?

2 个答案:

答案 0 :(得分:1)

我猜这个对话框只有一些javascript,等待几秒钟,然后请求在对话框中嵌入文件下载。

如果是这种情况,如果你弄清楚'真正的下载'包含在中,您可以使用JSoup或任何其他html解析器库来抓取页面外的链接。

如果动态生成下载链接,您显然只需要这样做。

在做了rossa建议之后,我建议在对话框窗口中设置javascript断点,以确定真实URL的确切要求。

答案 1 :(得分:0)

您确定网址是您要下载的文件的确切位置吗?我的意思是,是否有任何重定向 - 您可以检查您的浏览器并使用HTTP标头扩展来检查幕后发生的事情。