Java模拟发送post请求
项目要求:模拟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请求相关推荐
- Java模拟发送Http请求详细示例
对接第三方接口,肯定是需要我们自己模拟浏览器来发送请求的,有的文档中有demo,有demo改一改参数配置就好了,但有的接口却没有demo,只有一份接口参数介绍文档,这时候就需要我们自己来写发送请求的代 ...
- java httpclient发送json 请求 ,go服务端接收
/***java客户端发送http请求*/package com.xx.httptest;/*** Created by yq on 16/6/27.*/import java.io.IOExcept ...
- jmeter测试TCP服务器/模拟发送TCP请求
jmeter测试TCP服务器,使用TCP采样器模拟发送TCP请求. TCP采样器:打开一个到指定服务器的TCP / IP连接,然后发送指定文本并等待响应. jmeter模拟发送TCP请求的方法: 1. ...
- 使用谷歌浏览器模拟发送http请求
下载一个chromed的插件postman附上下载地址http://download.csdn.net/detail/zhenghui89/8490331;下载以后解压缩;打开谷歌浏览器以后 依次 ...
- curl/wget 模拟发送post请求
curl/wget 模拟发送post请求 curl -H "这里是请求header信息" -X POST -d "这里是请求body体" ip:port -O ...
- JAVA后台发送http请求
JAVA后台发送http请求 代码: @RequestMapping("/check")@ResponseBodypublic Map check(Integer cashReco ...
- Java 常用工具类(12) : java后台发送http请求
参考 : java http 发送post请求-json格式_Oh_go_boy的博客-CSDN博客 Java发送Http请求 - 玄同太子 - 博客园 org.apache.http 在Maven中 ...
- java后台发送https请求(基于httpTemplate的httpUtil工具实现)
最近做连续做了一些java后台发送http请求的需求,发现项目里实现http请求的写法各异,不够简洁统一,于是基于httpTemplate自行封装了一个http请求工具,常见的json和octet-s ...
- JAVA模拟HTTP post请求上传图片
2019独角兽企业重金招聘Python工程师标准>>> 1.原理:实现思路和具体步骤就是模拟页面的请求 /*** @author qimh* @description 模拟form表 ...
最新文章
- 树莓派进阶之路 (037) - 设置树莓派3 B+的静态IP
- 深度学习核心技术精讲100篇(十九)--GBDT(梯度提升树) 和 Resnet (残差网络)的原理
- python的本质,讨论 - 廖雪峰的官方网站
- matlab绘图 excel,『在matlab上如何导入excel表格然后画图』excle表格如何使用绘图笔...
- WinAPI: Pie - 绘制饼图
- osg节点访问和遍历
- 基于django rest framework的mock server实践
- 阿里的技术愿景_技术技能的另一面:领域知识和长期愿景
- php 屏蔽ctrl c,ctrl+c用不了怎么回事
- 【mysql基础知识】查询当前时间之前5分钟内的数据
- 我的docker随笔:开篇
- sqlserver 当月、 时间_sqlserver 获取时间年月日时分秒
- 创业失败的内因分析及避免办法
- sfc流程图怎么画_如何使用gxworks2创建简单的顺序功能图sfc
- html div调用js,在div中调用javascript函数
- latex图片的子标题放在中间
- 如何构建Redis Streams应用程序
- writing idiomatic python 读书笔记(2)
- 物理机无法ping通虚拟机,虚拟机能ping通物理机
- 【小游戏】2D游戏黄金矿工GoldMiner(关卡模式)
热门文章
- 私服服务器需要多大的配置
- 【数据结构】CH2 线性表的链式存储结构
- 乡镇村委干部职工数字化办公管理小程序系统开发制作介绍
- 中南大学计算机网.doc,中南大学计算机网络课程设计报告.doc
- 【数理知识】曲面类型及其曲率取值范围,包括主曲率 principal curvature,高斯曲率 Gaussian curvature,平均曲率 mean curvature
- Pomelo Client
- 如何人声提取音频?手把手教你提取
- 猜数字游戏 - Java实现
- 十句让生活更美好的英语箴言
- CS5265中文参数说明|CS5265中文DATASHEET|TYPEC转HDMI4K@60HZ方案讲解