项目要求:模拟100个温湿度设备发送温湿度数据进行压测,查看数据是否有叠加且显示正确,因为测试环境简陋,没有100个温湿度设备,只能通过调用接口模拟发送请求,由于每次发送的请求要求正文某些元素值要唯一,所以通过传参方式,每间隔一秒发送一次请求,发送满四条后间隔10分钟再次发送,写的是死循环,代码如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;public class DGStr {static String Tag1="";static String Tag2="";static String Tag3="";static String Tag4="";static int k=0;final static String url = "url地址"; public static void main(String[] args) {for(int j=3;j<80;j++) {if(j>=3&&j<=19) {Tag1=Tag1+"{\"id\":"+j+", \"t\":25.0, \"bat\":3},";continue;}if(j>=21&&j<=39){Tag2=Tag2+"{\"id\":"+j+", \"t\":25.0, \"bat\":3},";continue;}if(j>=41&&j<=59){Tag3=Tag3+"{\"id\":"+j+", \"t\":25.0, \"bat\":3},";continue;}if(j>=61&&j<=79){Tag4=Tag4+"{\"id\":"+j+", \"t\":25.0, \"bat\":3},";continue;}//Tag1=Tag1+"{\"id\":"+j+", \"t\":25.0, \"bat\":3},";}Tag1=Tag1+"{\"id\":20, \"t\":25.0, \"bat\":3}";Tag2=Tag2+"{\"id\":40, \"t\":25.0, \"bat\":3}";Tag3=Tag3+"{\"id\":60, \"t\":25.0, \"bat\":3}";Tag4=Tag4+"{\"id\":80, \"t\":25.0, \"bat\":3}";String[] params= {"{\"lac\":16794,"+ "\"cid\":19531,"+ "\"grp\":1," + "\"nodes\":"+"["+Tag1+"]"+"}","{\"lac\":16794,"+ "\"cid\":19531,"+ "\"grp\":1," + "\"nodes\":"+"["+Tag2+"]"+"}","{\"lac\":16794,"+ "\"cid\":19531,"+ "\"grp\":1," + "\"nodes\":"+"["+Tag3+"]"+"}","{\"lac\":16794,"+ "\"cid\":19531,"+ "\"grp\":1," + "\"nodes\":"+"["+Tag4+"]"+"}"};   try {while(true) {    for(k=0;k<4;k++) {post(url, params[k]);Thread.sleep(1000);}Thread.sleep(60000);}}catch(InterruptedException e) {e.printStackTrace();}}public static String post(String strURL, String params) {System.out.println(strURL);System.out.println(params);BufferedReader reader = null;try {URL url = new URL(strURL);// 创建连接HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setDoOutput(true);connection.setDoInput(true);connection.setUseCaches(false);connection.setInstanceFollowRedirects(true);connection.setRequestMethod("POST"); // 设置请求方式connection.setRequestProperty("Accept", "application/json"); // 设置接收数据的格式connection.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的格式connection.connect();//一定要用BufferedReader 来接收响应, 使用字节来接收响应的方法是接收不到内容的OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); // utf-8编码out.append(params);//System.out.println(params);out.flush();out.close();// 读取响应reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));String line;String res = "";while ((line = reader.readLine()) != null) {res += line;}reader.close();return res;} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return "error"; // 自定义错误信息}}

运行结果:

Java模拟发送post请求相关推荐

  1. Java模拟发送Http请求详细示例

    对接第三方接口,肯定是需要我们自己模拟浏览器来发送请求的,有的文档中有demo,有demo改一改参数配置就好了,但有的接口却没有demo,只有一份接口参数介绍文档,这时候就需要我们自己来写发送请求的代 ...

  2. java httpclient发送json 请求 ,go服务端接收

    /***java客户端发送http请求*/package com.xx.httptest;/*** Created by yq on 16/6/27.*/import java.io.IOExcept ...

  3. jmeter测试TCP服务器/模拟发送TCP请求

    jmeter测试TCP服务器,使用TCP采样器模拟发送TCP请求. TCP采样器:打开一个到指定服务器的TCP / IP连接,然后发送指定文本并等待响应. jmeter模拟发送TCP请求的方法: 1. ...

  4. 使用谷歌浏览器模拟发送http请求

    下载一个chromed的插件postman附上下载地址http://download.csdn.net/detail/zhenghui89/8490331;下载以后解压缩;打开谷歌浏览器以后   依次 ...

  5. curl/wget 模拟发送post请求

    curl/wget 模拟发送post请求 curl -H "这里是请求header信息" -X POST -d "这里是请求body体"  ip:port -O ...

  6. JAVA后台发送http请求

    JAVA后台发送http请求 代码: @RequestMapping("/check")@ResponseBodypublic Map check(Integer cashReco ...

  7. Java 常用工具类(12) : java后台发送http请求

    参考 : java http 发送post请求-json格式_Oh_go_boy的博客-CSDN博客 Java发送Http请求 - 玄同太子 - 博客园 org.apache.http 在Maven中 ...

  8. java后台发送https请求(基于httpTemplate的httpUtil工具实现)

    最近做连续做了一些java后台发送http请求的需求,发现项目里实现http请求的写法各异,不够简洁统一,于是基于httpTemplate自行封装了一个http请求工具,常见的json和octet-s ...

  9. JAVA模拟HTTP post请求上传图片

    2019独角兽企业重金招聘Python工程师标准>>> 1.原理:实现思路和具体步骤就是模拟页面的请求 /*** @author qimh* @description 模拟form表 ...

最新文章

  1. 树莓派进阶之路 (037) - 设置树莓派3 B+的静态IP
  2. 深度学习核心技术精讲100篇(十九)--GBDT(梯度提升树) 和 Resnet (残差网络)的原理
  3. python的本质,讨论 - 廖雪峰的官方网站
  4. matlab绘图 excel,『在matlab上如何导入excel表格然后画图』excle表格如何使用绘图笔...
  5. WinAPI: Pie - 绘制饼图
  6. osg节点访问和遍历
  7. 基于django rest framework的mock server实践
  8. 阿里的技术愿景_技术技能的另一面:领域知识和长期愿景
  9. php 屏蔽ctrl c,ctrl+c用不了怎么回事
  10. 【mysql基础知识】查询当前时间之前5分钟内的数据
  11. 我的docker随笔:开篇
  12. sqlserver 当月、 时间_sqlserver 获取时间年月日时分秒
  13. 创业失败的内因分析及避免办法
  14. sfc流程图怎么画_如何使用gxworks2创建简单的顺序功能图sfc
  15. html div调用js,在div中调用javascript函数
  16. latex图片的子标题放在中间
  17. 如何构建Redis Streams应用程序
  18. writing idiomatic python 读书笔记(2)
  19. 物理机无法ping通虚拟机,虚拟机能ping通物理机
  20. 【小游戏】2D游戏黄金矿工GoldMiner(关卡模式)

热门文章

  1. 私服服务器需要多大的配置
  2. 【数据结构】CH2 线性表的链式存储结构
  3. 乡镇村委干部职工数字化办公管理小程序系统开发制作介绍
  4. 中南大学计算机网.doc,中南大学计算机网络课程设计报告.doc
  5. 【数理知识】曲面类型及其曲率取值范围,包括主曲率 principal curvature,高斯曲率 Gaussian curvature,平均曲率 mean curvature
  6. Pomelo Client
  7. 如何人声提取音频?手把手教你提取
  8. 猜数字游戏 - Java实现
  9. 十句让生活更美好的英语箴言
  10. CS5265中文参数说明|CS5265中文DATASHEET|TYPEC转HDMI4K@60HZ方案讲解