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

java HttpURLConnection传递键值对参数,表单参数

当表头设置参数类型为这个的时候,
conn.setRequestProperty(“Content-Type”,“application/x-www-form-urlencoded”);

如果参数用的是jsonstring的话,在请求中,参数会都跑到key中,而且不会自动识别key和value;

     String data = requestParams;
     HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
     //设置请求方式,请求超时信息
     conn.setRequestMethod("POST");
     conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
     conn.setRequestProperty("Content-Length",String.valueOf(data.getBytes().length));

     conn.setReadTimeout(5000);
     conn.setConnectTimeout(5000);
     //设置运行输入,输出:
     conn.setDoOutput(true);
     conn.setDoInput(true);
     //Post方式不能缓存,需手动设置为false

// conn.setUseCaches(false);

     //获取输出流
     OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream(),"UTF-8");
     writer.write(data);
     writer.flush();
     writer.close();

将参数换成用string配合=&拼接成的数据就行;

比如需要name=‘123’,age=13
需要拼接string str = “name = 123&age=13”
然后直接str转成byte传进去就行

  StringBuilder stringBuilder = new StringBuilder();
  try {
     stringBuilder.append("apiKey="+ URLEncoder.encode(apiKey,"UTF-8"));
     stringBuilder.append("&jobNum="+ URLEncoder.encode(tv_job_num.getText().toString(),"UTF-8"));
     stringBuilder.append("&prodOrderNum="+ URLEncoder.encode(prodOrderNum,"UTF-8"));


  } catch (UnsupportedEncodingException e) {
     throw new RuntimeException(e);
  }

// jsonObject.put(“jobNum”,tv_job_num.getText().toString());
// jsonObject.put(“jobNum”,“HX2619”);
// jsonObject.put(“prodOrderNum”,prodOrderNum);
// jsonObject.put(“apiKey”,apiKey);

// return jsonObject.toJSONString();
return stringBuilder.toString();


http://www.kler.cn/news/355849.html

相关文章:

  • 基于MATLAB的战术手势识别功能的设计与实现
  • 【思维导图】C语言—常见概念
  • 基于深度学习的心电图分类算法研究
  • Python | Leetcode Python题解之第491题非递减子序列
  • 基于SpringBoot+Vue+uniapp的电影信息推荐APP的详细设计和实现
  • 【Linux探索学习】第六弹——Linux的工具(一):Ubuntu系统下的软件包管理器
  • 双十一母婴专场 2024新手妈妈必备指南
  • 域7:安全运营 第16章 安全运营管理
  • 服务器开放ftp端口可能会被攻击吗?
  • Android OpenGL触控反馈
  • 多元统计实验报告内容
  • WebSocked基础
  • kubernetes给service动态增加服务端口
  • 018_FEA_Structure_Static_in_Matlab三维结构静力学分析
  • JS | JS之元素偏移量 offset 系列属性详解
  • RHCE笔记-时间服务器搭建
  • 【Flutter】基础入门:代码基本结构
  • 深度学习:元学习(Meta-Learning)详解
  • 自搭建VSCode的Make构建工具选择
  • 深度学习的关键概念和术语