如何从扩展名为.html的网页下载pdf文件programmatticaly?

我已经在这个论坛上审查了所有类似的问题 (不仅仅是这个!)并尝试了所有这些方法,但仍然无法以编程方式下载测试文件: http : //pdfobject.com/markup/examples/full-browser- window.html

以下是我尝试下载的测试文件的直接链接 。 这是一个具有开放访问权限的测试pdf文件,因此任何人都可以使用它来测试下载方法。

如何下载此特定文件以使其具有pdf扩展名?

要下载文件,也许您可​​以尝试这样的事情:

 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; public final class FileDownloader { private FileDownloader(){} public static void main(String args[]) throws IOException{ download("http://pdfobject.com/pdf/sample.pdf", new File("sample.pdf")); } public static void download(final String url, final File destination) throws IOException { final URLConnection connection = new URL(url).openConnection(); connection.setConnectTimeout(60000); connection.setReadTimeout(60000); connection.addRequestProperty("User-Agent", "Mozilla/5.0"); final FileOutputStream output = new FileOutputStream(destination, false); final byte[] buffer = new byte[2048]; int read; final InputStream input = connection.getInputStream(); while((read = input.read(buffer)) > -1) output.write(buffer, 0, read); output.flush(); output.close(); input.close(); } } 

让我给你一个更简短的解决方案,它带有一个名为JSoup的库, BalusC经常在他的答案中使用它。

 //Get the response Response response=Jsoup.connect(location).ignoreContentType(true).execute(); //Save the file FileOutputStream out = new FileOutputStream(new File(outputFolder + name)); out.write(response.bodyAsBytes()); out.close(); 

好吧,你现在必须猜到了, response.body()就是pdf的所在。 您可以使用这段代码下载任何二进制文件。

    Interesting Posts