gpt4 book ai didi

java - http请求在java中下载文件

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:29:24 24 4
gpt4 key购买 nike

我真的是 Java 的新手,所以我希望你能帮助我。我想编写一个 http 请求以从网站下载文件 (pdf)。该网站正在使用 cookie。所以我必须发送第一个请求来获取 cookie,然后发送第二个请求来下载文件。

如果可能,我不想使用外部库。

这是我到目前为止得到的:

URLConnection request = null;
String url = str;
CookieHandler.setDefault(new CookieManager(null, CookiePolicy.ACCEPT_ALL));
request = new URL(url ).openConnection();

System.setProperty("http.maxRedirects", "100");

InputStream in = request.getInputStream();
File downloadedFile = File.createTempFile("test", ".pdf");
FileOutputStream out = new FileOutputStream(downloadedFile);
byte[] buffer = new byte[1024];
int len = in.read(buffer);
while (len != -1) {
out.write(buffer, 0, len);
len = in.read(buffer);
if (Thread.interrupted()) {
try {
throw new InterruptedException();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
in.close();
out.close();
return downloadedFile.getAbsolutePath();

我的代码似乎什么都不做...

祝愿 M1K

最佳答案

如果您在应用程序中使用 spring 框架,请查看是否可以使用 FileCopyUtils 方法的副本并将 fileInputStream 复制到响应输出流,如下所示。

FileCopyUtils.copy(new FileInputStream(file), response.getOutputStream());

关于java - http请求在java中下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28898951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com