文章目录

  • 环境
  • 前言
  • HTTP 下载
  • 总结

环境

JDK 15

前言

当我们的业务需求里有文件下载功能, 后端开发人员如何提前自测下载?
如果链接的 HTTP 方法为 GET 时可以直接到浏览器访问下载, 但如果是其它 HTTP 方法呢?
postman? idea 自带的 http request?
但上面两个工具都无法很好的满足我们的需求, 此时, 身为程序员的我们就可以自己写代码, 完善自己的工具箱.
由于个人电脑一般装有最新版 JDK, 所以使用从 JDK 11 开始就有的 http 模块.

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 包也可以不再使用.

Java - HttpClient 下载文件相关推荐

  1. java httpclient 下载文件_httpclient 上传文件、下载文件

    /** * 上传文件 * @throws  ParseException * @throws  IOException */ publicstaticvoidpostFile()throwsParse ...

  2. java网上下载文件

    java下载文件 1.使用httpClient下载文件: /* *url:资源的地址:http://***.**.***.**.a.mp4 * */ public void downLoadFile( ...

  3. java线程下载文件_Java多线程下载文件实例详解

    本文实例为大家分享了Java多线程下载文件的具体代码,供大家参考,具体内容如下 import java.io.File; import java.io.InputStream; import java ...

  4. Java多线程下载文件

    Java多线程下载文件 优化:合理利用服务器资源,将资源利用最大化,加快下载速度 一般有两种方式: 线程池里面有N个线程,多线程下载单个文件,将网络路径的文件流切割成多快,每个线程下载一小部分,然后写 ...

  5. java批量下载文件为zip包

    批量下载文件为zip包的工具类 package com.meeno.trainsys.util;import javax.servlet.http.HttpServletRequest; import ...

  6. Java FTP下载文件以及编码问题小结

    问题 之前在开发过程中,遇到了一点问题,我要访问一个FTP服务器去下载文件详细情况如下: 1. 需要传入一个可能为中文的文件名: 2. 通过文件名去FTP上寻找该文件: 3. FTP服务器的命名编码为 ...

  7. Java文件下载/下载文件的案例

    文章目录 需求 分析 实现步骤 示例代码 下载的文件中文名显示问题 需求 1.页面显示超链接 2.点击超链接后弹出下载对话框 3.完成图片文件下载 分析 超链接指向的资源如果能够被浏览器解析,则直接在 ...

  8. java http 下载文件_JAVA通过HttpURLConnection 上传和下载文件的方法

    本文介绍了JAVA通过HttpURLConnection 上传和下载文件的方法,分享给大家,具体如下: HttpURLConnection文件上传 HttpURLConnection采用模拟浏览器上传 ...

  9. java struts2下载文件_java struts2入门学习---文件下载的二种方式

    一.关于文件下载: 文件下载的核心思想即是将文件从一个地方拷贝到另一个地方. 1.传统方式: 在Action中加入大量servlet api 操作.优点是好理解,缺点是耦合度高. 2.stream方式 ...

  10. java线程下载文件_使用多线程在Java下载文件

    我正在做一个类似IDM的下载器,我已经读到了这篇关于它的文章.我已经实现了我的第一步代码. 下面是Downloader类的代码:package download.manager; import jav ...

最新文章

  1. 荒岛余生最后一个包裹_豆瓣评分8.5,一个人撑起整部电影,最后的彩蛋让人无语...
  2. 基于深度学习的恶意样本行为检测(含源码) ----采用CNN深度学习算法对Cuckoo沙箱的动态行为日志进行检测和分类...
  3. defer与async的认识
  4. flutter 刷脸_GitHub - hqwlkj/wechat_face_payment: 微信刷脸支付、刷脸认证、扫码支持等 Flutter 插件....
  5. 《解读NoSQL》——1.4 小结
  6. python forward(10)什么意思-Python turtle.forward方法代码示例
  7. 在MFC中使用GDI+的一般方法,以VC6.0编译器为例
  8. switchHosts下载地址
  9. cadence allegro 绘制蛇形等长线
  10. 华为荣耀盒子显示服务器忙,华为荣耀盒子m321连接后死机了怎么办?教你三大解决方法...
  11. 基于单片机的智能温度监测系统设计(电路图+程序)
  12. ERR Slot 741 is already busy (Redis::CommandError)
  13. 倾向得分匹配PSM案例分析
  14. 国际清算银行成员发布央行数字货币分析报告
  15. 时间t与时间管理——柳比歇夫、德鲁…
  16. java生僻字解决方案
  17. 实战 Java 第8天:开发商品详情查询接口
  18. IMSI、IMEI和MEID(ESN)
  19. 五子棋等级考试软件的开发(一)
  20. 基于Python的ERP系统中主生产计划(MPS)的计算

热门文章

  1. 解压.tar.bz2文件命令
  2. AutoCAD二次开发(.Net)之加载某种线型(LineType)
  3. 【MySQL】简单易学的MySQL安装教程
  4. FreeRTOS基本教程零:STM32 FReeRTOS 移植流程
  5. 视频剪辑,教你如何给视频水平翻转
  6. 分布式面试题(二):分布式Redis
  7. ArcGIS教程:空间参考和地理处理
  8. EasyGBS对GB35114的支持
  9. 一、目标检测入门VOC2012
  10. AMapLocationListener 高德地图定位监听