8

我有一个相当基本的问题,我正在尝试使用 java 从这个 URL 下载 PDF:

http://kundservice.svd.se/ui/templates/HttpHandler/PDFTidningen/PDFTidningen.ashx?date=2014-07-27&file=SVD_D_BILAGA_2014-07-27.pdf&mac=92267fcd3c75feff13154ba66870a523&free=True

这是我的代码“非常基本”:

public class Main {

private static final String PATH = "C:\\project\\DownloadTest\\src\\main\\resources\\tmp\\";
private static final String FILENAME = "data.pdf";
private static final String SvDPDFURL = "http://kundservice.svd.se/ui/templates/HttpHandler/PDFTidningen/PDFTidningen.ashx?date=2014-07-27&file=SVD_D_BILAGA_2014-07-27.pdf&mac=92267fcd3c75feff13154ba66870a523&free=True";

public static void main(String[] args) throws Exception{
    File file = new File(PATH + FILENAME);
    URL url = new URL(SvDPDFURL);
    FileUtils.copyURLToFile(url, file);
 }
}

问题是文件是空的,我做错了什么。

4

1 回答 1

2

只需制作它https而不是http.

https://kundservice.svd.se/ui/templates/HttpHandler/PDFTidningen/PDFTidningen.ashx?date=2014-07-27&file=SVD_D_BILAGA_2014-07-27.pdf&mac=92267fcd3c75feff13154ba66870a523&free=True

发生这种情况是因为当您点击 url 时会有重定向。它重定向到https。浏览器获得响应,响应代码为 302,然后重定向到给定的 url,但FileUtility无法处理。

要确认使用firebugchrome developers tool通过点击F12并转到Network选项卡。

于 2014-07-30T09:05:51.837 回答