发布时间:2025-12-09 20:45:08 浏览次数:5
JDK 15
当我们的业务需求里有文件下载功能, 后端开发人员如何提前自测下载?
如果链接的 HTTP 方法为 GET 时可以直接到浏览器访问下载, 但如果是其它 HTTP 方法呢?
postman? idea 自带的 http request?
但上面两个工具都无法很好的满足我们的需求, 此时, 身为程序员的我们就可以自己写代码, 完善自己的工具箱.
由于个人电脑一般装有最新版 JDK, 所以使用从 JDK 11 开始就有的 http 模块.
先看代码:
HttpClient httpClient = HttpClient.newHttpClient();URI uri = URI.create("https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe");// HttpRequest.BodyPublisher bodyPublisher = HttpRequest.BodyPublishers.ofString("{}");HttpRequest request = HttpRequest.newBuilder(uri)// .headers("Content-Type", "application/json")// .POST(bodyPublisher).build();HttpResponse.BodyHandler<Path> pathBodyHandler = HttpResponse.BodyHandlers.ofFile(Path.of("rustup-init.exe"));HttpResponse<Path> response = httpClient.send(request, pathBodyHandler);System.out.println(response);上面的代码简单的描述了如何使用 Java 代码进行 HTTP 请求, 其中注释了的代码是 POST 方法的请求, 执行之后在工作目录可以看到 rustup-init.exe 文件.
在最新版 JDK 中已经包含了 HttpClient 功能, Apache 的 HttpClient jar 包也可以不再使用.