当前位置: 首页 > news >正文

java发送媒体类型为multipart/form-data的请求

文章目录

public static String sendMultipartFormDataPostRequest(String urlString, String data) throws IOException {String fullUrl = urlString + "?" + data;log.info("完整请求路径为{}", fullUrl);URL url = new URL(fullUrl);HttpURLConnection connection = null;try {connection = (HttpURLConnection) url.openConnection();// 设置请求方法为POSTconnection.setRequestMethod("POST");// 允许输入输出流connection.setDoInput(true);connection.setDoOutput(true);// 设置请求头信息connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + "*****");// 创建请求体输出流
//            OutputStream outputStream = connection.getOutputStream();
//            PrintWriter writer = new PrintWriter(new OutputStreamWriter(outputStream, StandardCharsets.UTF_8), true);// 添加请求体结束边界
//            writer.flush();// 关闭流
//            writer.close();
//            outputStream.close();// 发送请求并获取响应int responseCode = connection.getResponseCode();String responseMessage = connection.getResponseMessage();// 输出响应结果log.info("Response Code: {} Response Message: {}" , responseCode, responseMessage);BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));String inputLine;StringBuilder response = new StringBuilder();while ((inputLine = in.readLine()) != null) {response.append(inputLine);}in.close();return response.toString();} catch (Exception e) {throw e;} finally {// 关闭连接if (connection != null) {connection.disconnect();}}}

数据可以和get请求一样用&分隔key=value的形式拼接到地址后面

相关文章:

  • 云课五分钟-0Cg++默认版本和升级-std=c++17
  • 将 Fedora 38 平滑升级至 Fedora 39
  • 工厂设计模式
  • 聊聊logback的MDCFilter
  • CSS英文单词强制截断换行
  • Redisson 分布式锁实战应用解析
  • 【2017年数据结构真题】
  • 基于springboot实现应急救援物资管理系统项目【项目源码】计算机毕业设计
  • 面试求职者
  • 在Ubuntu上用sane api实现通用扫描功能
  • 8.5 Windows驱动开发:内核注册表增删改查
  • 基于单片机体温脉搏检测控制系统及源程序
  • Linux控制---进程程序替换
  • [内存泄漏][PyTorch](create_graph=True)
  • CCRC认证是什么?
  • Java 内存分配及垃圾回收机制初探
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Linux下的乱码问题
  • Linux中的硬链接与软链接
  • Mysql5.6主从复制
  • Python学习之路16-使用API
  • Spark RDD学习: aggregate函数
  • 从0到1:PostCSS 插件开发最佳实践
  • 近期前端发展计划
  • 如何在GitHub上创建个人博客
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 扩展资源服务器解决oauth2 性能瓶颈
  • # 达梦数据库知识点
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (3)nginx 配置(nginx.conf)
  • (二十四)Flask之flask-session组件
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • ./configure,make,make install的作用(转)
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .gitattributes 文件
  • .md即markdown文件的基本常用编写语法
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • [1525]字符统计2 (哈希)SDUT
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [android] 看博客学习hashCode()和equals()
  • [AR]Vumark(下一代条形码)
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
  • [C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改
  • [CTF]2022美团CTF WEB WP
  • [HNOI2008]Cards
  • [HNOI2008]玩具装箱toy