以zabbix登陆接口做测试,zabbix-api:http://192.168.228.45/zabbix/api_jsonrpc.php

curl方式请求

准备工具:yum install -y curl

[root@zabbix job]# curl -H "Content-Type:application/json" -X POST -id '{"jsonrpc": "2.0",
"method": "user.login",
"params": {"user": "Admin","password": "zabbix"},
"id": 1,
"auth": null}' http://192.168.228.45/zabbix/api_jsonrpc.phpHTTP/1.1 200 OK
Date: Wed, 01 Jul 2020 09:38:17 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.4.16
X-Powered-By: PHP/5.4.16
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Content-Type
Access-Control-Allow-Methods: POST
Access-Control-Max-Age: 1000
Content-Length: 68
Content-Type: application/json{"jsonrpc":"2.0","result":"08f47ee4fa9d55b0928abcd637d9e00e","id":1}[root@zabbix job]#
[root@zabbix job]# curl -H "Content-Type:application/json" -X POST -id '{"jsonrpc": "2.0","method": "user.login","params": {"user": "Admin","password": "zabbix"},"id": 1,"auth": null}' http://192.168.228.45/zabbix/api_jsonrpc.php

fiddler方式请求

下载安装fiddler: https://www.telerik.com/fiddler
打开组合器输入对应的api地址

post请求方式输入对应的http信息头:Content-Type: application/json
参数:{"jsonrpc": "2.0","method": "user.login","params": {"user": "Admin","password": "zabbix"},"id": 1,"auth": null}


点击执行即可查看post请求结果:
此时就能看到json格式返回的zabbix用户登录密钥口令

jmeter方式请求

下载安装jmeter工具: https://jmeter.apache.org/download_jmeter.cgi
jmeter下载官网tar包即可: apache-jmeter-5.3.tgz windows,linux均可使用(均需要jdk环境)
打开jmeter,右击测试计划添加线程组
右击线程组添加一个取样器-----HTTP请求任务

http请求任务填入对应的参数:

这段json参数是取zabbix host主机信息的测试参数
{"jsonrpc": "2.0","method": "host.get","params": {"output": ["hostid","host"],"selectInterfaces": ["interfaceid","ip"]},"id": 2,"auth": "e54c3ed48dec483879d3e7b2dc26a640"}

右击线程组–添加—配置元件----http信息头管理器:
“Content-Type:application/json”


线程组----添加----监听器(结果输出工具)—查看结果树:

接着回到http请求点击上方播放按钮开始任务:

此时即可通过观察结果来查看对应的调用结果是否成功:

在linux服务器我们可以通过这个小东西进行压力测试
首先我们在dashboard ui 图形化界面测试是否可以调用成功
测试前我们可以设置本次测试需要运行的次数、并发次数、调度器一共需要执行测试的时间(一般五分钟的并发次数较为稳定、准确)

然后将其保存为运行脚本文件 http-zabbix-login.jmx
首次保存即可直接点击上方的保存按钮,另存为可以点击另存为:

将其上传至linux服务器机器:

<intProp name="LoopController.loops">-1</intProp>               循环次数:-1永远循环</elementProp><stringProp name="ThreadGroup.num_threads">100</stringProp>        并发数   100<stringProp name="ThreadGroup.ramp_time">3</stringProp>            3秒之后开始每秒100次并发请求,前三秒的每秒请求为 100/3次<boolProp name="ThreadGroup.scheduler">true</boolProp><stringProp name="ThreadGroup.duration">30</stringProp>             持续执行30sjmeter -n -t http-zabbix-login.jmx -l http-zabbix-login.jtl
-n 面图形化界面执行   -t 指定执行脚本文件   http-zabbix-login.jmx   -l 输出结果文件 http-zabbix-login.jtl     [root@zabbix job]# ./jmeter.avg
请输入要执行的脚本文件 jmx 文件全称, 与 jtl 输出结果文件全称: eg : http-zabbix-login.jmx   http-zabbix-login.jtl*** 请输入要执行的脚本文件 jmx 文件全称, 与 jtl 输出结果文件全称: eg : http-zabbix-login.jmx   http-zabbix-login.jtl
Please input a jmx---filename1:http-zabbix-login.jmx
Please input a jtl---filename2:http-zabbix-login.jtl
Creating summariser <summary>
Created the tree successfully using http-zabbix-login.jmx
Starting standalone test @ Wed Jul 01 18:13:57 CST 2020 (1593598437817)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445持续运行时间  TPS(并发)请求数 平均请求时间(Avg ms)
summary +     19 in 00:00:02 =   10.1/s Avg:    98 Min:    51 Max:   376 Err:     0 (0.00%) Active: 1 Started: 2 Finished: 1
summary +    282 in 00:00:26 =   10.7/s Avg:    85 Min:    49 Max:   891 Err:     0 (0.00%) Active: 0 Started: 4 Finished: 4
summary =    301 in 00:00:28 =   10.7/s Avg:    85 Min:    49 Max:   891 Err:     0 (0.00%)
Tidying up ...    @ Wed Jul 01 18:14:26 CST 2020 (1593598466603)
... end of run
this is tpsdata avg : 10.50                 平均TPS数值
this is avgdata avg (ms) : 89.33
this is avgdata avg (s) :  .0893            平均请求响应时间(s)上为自己写的一个求平均值的小脚本:
[root@zabbix job]# cat jmeter.avg
#!/bin/bash
echo "请输入要执行的脚本文件 jmx 文件全称, 与 jtl 输出结果文件全称: eg : http-zabbix-login.jmx   http-zabbix-login.jtl"
echo -e "\033[33;40m *** 请输入要执行的脚本文件 jmx 文件全称, 与 jtl 输出结果文件全称: eg : http-zabbix-login.jmx   http-zabbix-login.jtl \033[0m"
read -p "Please input a jmx---filename1:" jmx
read -p "Please input a jtl---filename2:" jtljmeter -n -t $jmx -l $jtl &> ./jmeter.resful
#jmeter -n -t http-zabbix-login.jmx -l http-zabbix-login.jtl &> jmeter.resful
cat ./jmeter.resfulgawk '{ print $7 }' ./jmeter.resful | grep s | awk -F "/" '{ print $1 }' > ./tps
gawk '{ print $7,$9 }' ./jmeter.resful | grep s | awk '{ print $2 }' > ./avg
tpsdata=`gawk '{ a += $1 }END { print a }' ./tps`
avgdata=`gawk '{ a += $1 }END { print a }' ./avg`
wl=`cat ./tps |wc -l`
echo "this is tpsdata avg : `echo "scale=2; $tpsdata / $wl" | bc`"
echo "scale=2; $tpsdata / $wl" | bc > ./tpsdata
echo "this is avgdata avg (ms) : `echo "scale=2; $avgdata / $wl" | bc`"
avgs=`echo "scale=2; $avgdata / $wl" | bc`
echo "this is avgdata avg (s) :  `echo "scale=4; $avgs / 1000" | bc`"
echo "scale=4; $avgs / 1000" | bc > ./avgdata


不要因一次挫败就忘记你原先想要到达的地方。

post请求三种方式相关推荐

  1. 使用apache-poi生成excel文件与同步请求三种方式与文件下载

    使用apache-poi生成excel文件 a)添加依赖: <!-- poi依赖--><dependency><groupId>org.apache.poi< ...

  2. Java 实现 HTTP 请求的三种方式

    除了本文推荐的几种方式,强烈推荐 OkHttp 目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现.HTTPClient对HTTP的封装性比较 ...

  3. .net session 有效时间_Python中requests模拟登录的三种方式(携带cookie/session进行请求网站)...

    这篇文章主要介绍了python中requests模拟登录的三种方式(携带cookie/session进行请求网站),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋 ...

  4. java实现HTTP请求的三种方式

    From: https://www.cnblogs.com/hhhshct/p/8523697.html 目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的 ...

  5. AJAX异步请求解决跨域问题的三种方式

    一 什么是跨域 出于浏览器的同源策略限制.同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说We ...

  6. vue三种ajax请求方式,vue请求数据的三种方式

    请求数据的方式: vue-resource 官方提供的 vue的一个插件 axios fetch-jsonp 一,vue-resource请求数据 介绍:vue-resource请求数据方式是官方提供 ...

  7. linux+Qt 下利用D-Bus进行进程间高效通信的三种方式

    linux+Qt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html ...

  8. SpringBoot静态获取 bean的三种方式,你学会了吗?

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/showchi/article/details/97005720 注意:调用者要被spring管理 ...

  9. 在Linux安装配置Tomcat 并部署web应用 ( 三种方式 )

    系统版本:centos6.5版本 java版本:1.7 一.准备工作 1.java -version 检查是否有java环境,没有则需要去安装并配置到环境变量中. 2.下载tomcat包,下载地址:h ...

最新文章

  1. Qt Creator 常用快捷键
  2. [六]RabbitMQ-客户端源码之AMQCommand
  3. 一道面试题:猫大叫了一声...
  4. c语言-基本计算 pm2.5,C语言程序设计题(A卷).doc
  5. VC socket 发送类对象
  6. java有push方法么_[Java教程]js中push和join方法使用介绍
  7. 机器学习(3)——K-近邻算法改进约会网站的配对效果实例
  8. endnote 参考文献加序号_EndNote同一文章的插入不同编号参考文献的方法 | 科研动力...
  9. STM32 低功耗STOP模式,RTC唤醒
  10. 数据结构与算法分析:C语言描述(原书第2版) PDF+源代码+习题答案
  11. OSR推出在线SSL/TLS安全测试工具
  12. 旷视研究院张祥雨:3年看1800篇论文,28岁掌舵旷视基础模型研究
  13. Make命令与Makefile文件
  14. 教育知识与能力·中学
  15. mysql三线表导出_R|tableone 快速绘制文章“表一”-基线特征三线表
  16. 各类路由器默认密码一览
  17. ctf文件上传基本思路+例题
  18. NURBS求取basis函数的代码
  19. 利用python opencv2进行多图片摘要
  20. MATLAB GUI学习———简易计算器

热门文章

  1. LiteOS内核教程05 | 互斥锁(共享资源保护)
  2. 记录一个下载的皮肤资源包问题
  3. HTML5 article元素的使用
  4. 下载java免安装包_下载并获取免安装版的JDK、JRE和源码包
  5. wpf wrapPanel居中并从左到右排列
  6. 2021-02-09 生活格言
  7. ExcelVBA使用删除重复项获取不重复记录
  8. 网站内部链接优化大解析
  9. 1-Ubuntu18.04安装教程
  10. c#窗体应用程序看Console.WriteLine打印的内容