java - 不使用浏览器的 HTTP 请求

标签 java http jar httprequest httpresponse

我正在开发一个允许用户下载 JAR 的应用程序,它实际上是一个 PDF 播放器,显示一些作为 JAR 本身的一部分下载的 PDF。

现在每当用户单击该 JAR 文件时,我都想验证服务器上的 PDF 包(它是否已过期?或者是否有新版本可用)。此外,如果下载包的新版本可用,我希望我的 PDF 内容得到更新。因此,如果有新版本,我将需要从服务器下载 PDF。

所以我想从我的 JAR 中向服务器发出 HTTP 请求并接收一些 PDF(以及一些其他数据)作为响应。

知道我该怎么做吗?是否有一些 API 可用于从普通 Java 程序创建 HTTP 请求?

最佳答案

通过创建 URL 并为其获取连接并将其转换为 HttpURLConnection 来发送 HTTP 请求。

添加“If-Modified-Since” header ,以及本地文件的下载日期。如果服务器响应 304(未修改),则您的本地版本是最新的。

如果本地版本不是最新的,服务器将响应实际内容,您可以使用这些内容更新本地缓存。

关于java - 不使用浏览器的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12901280/

相关文章:

swift - 在 Swift 中发送 HTTP 请求并收到 1001、999 错误

java - 确定使用哪些 .jar 文件

java - 如果我使用 applet,如何使用 Eclipse 创建 .jar 文件?

java - 图片和文字在同一个窗口

java - Spring Boot 中使用相同存储库和实体的多个数据源

java - 如何关闭 OpenGL Activity

java - 来自 ListView 的相同数据被多次打印

http - "forever"和 "never"是唯一有用的缓存持续时间吗?

http - 当在 303 重定向上设置 cookie 时,浏览器不发送 cookie

java - 获取Jar内文件的路径