Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从没有url的主页下载文件。使用java_Java_Url_Download - Fatal编程技术网

从没有url的主页下载文件。使用java

从没有url的主页下载文件。使用java,java,url,download,Java,Url,Download,我需要能够下载一个文件从网页使用Java。问题是我似乎找不到文件的确切URL。示例:www.something.com/file.xls 我需要的文件可以在此url上找到: 如果向下滚动一点,可以看到Excel徽标 如果有人有一个库可以帮助我解决这个问题,当然还有其他类型的指导,我会很高兴:)你的问题没有通用的解决方案——JavaScript可以用来混淆什么是链接、什么不是链接以及链接的去向。不过,如果您对删除特定页面感兴趣,您可以对其进行反向工程 例如,在链接的页面上,Excel徽标具有IDe

我需要能够下载一个文件从网页使用Java。问题是我似乎找不到文件的确切URL。示例:www.something.com/file.xls

我需要的文件可以在此url上找到: 如果向下滚动一点,可以看到Excel徽标


如果有人有一个库可以帮助我解决这个问题,当然还有其他类型的指导,我会很高兴:)

你的问题没有通用的解决方案——JavaScript可以用来混淆什么是链接、什么不是链接以及链接的去向。不过,如果您对删除特定页面感兴趣,您可以对其进行反向工程

例如,在链接的页面上,Excel徽标具有ID
exportExcel
。搜索
#exportExcel
最终会得到以下代码片段:

if(to.match(/^\d{4}[-]\d{2}[-]\d{2}$/) && from.match(/^\d{4}[-]\d{2}[-]\d{2}$/)) {
    var query = webCore.createQuery( webCore.marketAction.getDataSeries, {}, {
            FromDate: from,
            ToDate: to,
            Instrument: webCore.getInstrument(),
            hi__a : "0,1,2,4,21,8,10,11,12,9",
            OmitNoTrade: "true",
            ext_xslt_lang: currentLanguage,
            ext_xslt_options: "," + $("#adjustedId:checked").val() + ",", //$("#unadjustedId:checked").val() + ",",
            ext_xslt: "hi_table_shares_adjusted.xsl",
            ext_contenttype : "application/ms-excel",
            ext_contenttypefilename : "_" + webCore.getInstrument() + ".xls",
            ext_xslt_hiddenattrs: ",ip,iv,",
            ext_xslt_tableId: "historicalTable"
        }
    );
    $("#excelQuery").val( query );
    $("#excelForm").attr( "action", webCore.proxyURL ).submit();
}
这是用某种隐藏的表单提交构建URL。通过对源代码进行实验和跟踪,您应该能够复制它在Java代码中所做的工作,以生成所需的URL。您需要熟悉JavaScript和JQuery


另一种方法是在查看网络流量(例如通过)的同时单击下载链接,并观察浏览器请求的构造URL。您需要了解一些HTTP。

问题是他们没有使用简单的标记来下载文件。Excel徽标位于一个简单的标记中,这意味着当您点击并下载它时,他们可能会使用Javascript进行检测。谢谢Nathaniel。我认为这需要一个类似于你所说的解决方案。只是找不到相关的JS代码。将首先尝试将其跟踪到构造的URL。