Jmeter 传 PUT 请求方式
最近用 Jmeter 发送 PUT 请求,踩了个坑,现记录如下:
难点在在于 body 内有一大串 json 形式的内容
1、PUT 请求的 body 内,直接将 json串传 form-data 形式:

结果:压根执行不过去

2、将抓包出来的请求直接传到 jmeter 里面
id=4&mediaId=4&targetUrl=http%3A%2F%2F121.33.248.251%3A19091%2Ftoutiao¶mJson=%7B%0A++++%22request_id%22%3A+%22201812271802090100120360754600940%22%2C+%0A++++%22api_version%22%3A+%222.1%22%2C+%0A++++%22adslots%22%3A+%5B%0A++++++++%7B%0A++++++++++++%22id%22%3A+%2224e59b06cafb432a%22%2C+%0A++++++++++++%22banner%22%3A+%5B%0A++++++++++++++++%7B%0A++++++++++++++++++++%22width%22%3A+690%2C+%0A++++++++++++++++++++%22height%22%3A+388%2C+%0A++++++++++++++++++++%22pos%22%3A+%22FEED%22%2C+%0A++++++++++++++++++++%22sequence%22%3A+%2221%22%0A++++++++++++++++%7D%0A++++++++++++%5D%2C+%0A++++++++++++%22ad_type%22%3A+%5B%0A++++++++++++++++%22TOUTIAO_FEED_APP_LARGE%22%2C+%0A++++++++++++++++%22TOUTIAO_FEED_LP_LARGE%22%2C+%0A++++++++++++++++%22TOUTIAO_FEED_LP_GIF%22%2C+%0A++++++++++++++++%22TOUTIAO_FEED_APP_VIDEO%22%2C+%0A++++++++++++++++%22TOUTIAO_FEED_LP_VIDEO%22%2C+%0A++++++++++++++++%22TOUTIAO_FEED_APP_SMALL%22%2C+%0A++++++++++++++++%22TOUTIAO_FEED_LP_SMALL%22%2C+%0A++++++++++++++++%22TOUTIAO_FEED_LP_GROUP%22%2C+%0A++++++++++++++++%22TOUTIAO_FEED_APP_GROUP%22%0A++++++++++++%5D%2C+%0A++++++++++++%22bid_floor%22%3A+5000%2C+%0A++++++++++++%22pmp%22%3A+%7B%0A++++++++++++++++%22deals%22%3A+%5B%0A++++++++++++++++++++%7B%0A++++++++++++++++++++++++%22id%22%3A+190411%2C+%0A++++++++++++++++++++++++%22bid_floor%22%3A+5000%2C+%0A++++++++++++++++++++++++%22new_id%22%3A+190411%0A++++++++++++++++++++%7D%0A++++++++++++++++%5D%0A++++++++++++%7D%2C+%0A++++++++++++%22channel_id%22%3A+0%2C+%0A++++++++++++%22advanced_creative_type%22%3A+%5B%0A++++++++++++++++%22NONE%22%2C+%0A++++++++++++++++%22ACTION%22%2C+%0A++++++++++++++++%22DISCOUNT%22%0A++++++++++++%5D%0A++++++++%7D%0A++++%5D%2C+%0A++++%22app%22%3A+%7B%0A++++++++%22id%22%3A+%2213%22%2C+%0A++++++++%22name%22%3A+%22news_article%22%2C+%0A++++++++%22ver%22%3A+%22704%22%2C+%0A++++++++%22scheme%22%3A+%22snssdk+143%3A%2F%2F%22%0A++++%7D%2C+%0A++++%22device%22%3A+%7B%0A++++++++%22dnt%22%3A+false%2C+%0A++++++++%22ua%22%3A+%22Dalvik%2F2.1.0+(Linux%3B+U%3B+Android+8.0.0%3B+VTR-AL00+Build%2FHUAWEIVTR-AL00)+NewsArticle%2F7.0.4+cronet%2FTTNetVersion%3Aa729d5c3+2018-11-25%22%2C+%0A++++++++%22ip%22%3A+%22223.104.64.206%22%2C+%0A++++++++%22geo%22%3A+%7B%0A++++++++++++%22lat%22%3A+23.09559%2C+%0A++++++++++++%22lon%22%3A+113.36527%2C+%0A++++++++++++%22city%22%3A+%22%5C%5C345%5C%5C271%5C%5C277%5C%5C345%5C%5C267%5C%5C236%22%0A++++++++%7D%2C+%0A++++++++%22device_id_md5%22%3A+%226e8a6e9bb09fb6cd5140ca6c9a8d6ef7%22%2C+%0A++++++++%22make%22%3A+%22unknown%22%2C+%0A++++++++%22model%22%3A+%22VTR-AL00%22%2C+%0A++++++++%22os%22%3A+%22android%22%2C+%0A++++++++%22osv%22%3A+%228.0.0%22%2C+%0A++++++++%22connection_type%22%3A+%22NT_4G%22%2C+%0A++++++++%22device_type%22%3A+%22PHONE%22%2C+%0A++++++++%22android_id_md5%22%3A+%226df357ed0dacf593c444a7e4ee01b81f%22%0A++++%7D%2C+%0A++++%22user%22%3A+%7B%0A++++++++%22id%22%3A+%220%22%2C+%0A++++++++%22yob%22%3A+%2224%22%2C+%0A++++++++%22gender%22%3A+%22MALE%22%0A++++%7D%2C+%0A++++%22dsp_id%22%3A+190411%2C+%0A++++%22merge_dsp_ids%22%3A+%5B%0A++++++++190411%0A++++%5D%2C+%0A++++%22req_audit_type%22%3A+%22AUDIT_FIRST%22%2C+%0A++++%22new_dsp_id%22%3A+190411%2C+%0A++++%22new_merge_dsp_ids%22%3A+%5B%0A++++++++190411%0A++++%5D%0A%7D
发现是一大坨,想参数化?改的你想死
那么有啥方法可以既美观大方,又能发成请求呢?
方法:浏览器 f12

利用这个,我们在 jmeter 内,改写请求:
参数全部写在消息体内,各个 key-value 用 & 连接,这样大的 json 串不会成乱码形式,而且请求成功
id=4&mediaId=4&targetUrl=http://121.33.248.251:19091/toutiao¶mJson={
"request_id": "",
"api_version": "2.1",
"adslots": [
{
"id": "24e59b06cafb432a",
"banner": [
{
"width": 690,
"height": 388,
"pos": "FEED",
"sequence": ""
……

响应结果:

完事
Jmeter 传 PUT 请求方式的更多相关文章
- jmeter处理http请求Content-Type类型和传参方式
引言 我们在做接口测试的时候经常会忽略数据类型content-type的格式,以及参数Parameters和Body Data的区别和用途. 对于初次接触接口的同学来说,自己在发送一个http请求时, ...
- get、post请求方式在jmeter中使用步骤
jmeter:性能测试工具,压测 一.jmeter工具测试接口时使用步骤: 1.测试计划右键--添加--Threads(Users)--线程组(线程数就是并发数) 2.线程组右键--Sampler-- ...
- 设置 Ext.data.Store 传参的请求方式
设置 Ext.data.Store 传参的请求方式 1.extjs 给怎么给panel设背景色 设置bodyStyle:'background:#ffc;padding:10px;', var res ...
- Extjs 项目中常用的小技巧,也许你用得着(5)--设置 Ext.data.Store 传参的请求方式
1.extjs 给怎么给panel设背景色 设置bodyStyle:'background:#ffc;padding:10px;', var resultsPanel = Ext.create('Ex ...
- Jmeter自动化测试 POST请求和GET请求用if控制器,可以二次开发源码,将请求方式通过数据源传入,就不需要做多余的判断
Jmeter自动化测试 POST请求和GET请求用if控制器,可以二次开发源码,将请求方式通过数据源传入,就不需要做多余的判断 目前常用的做法:
- C# ContentType: "application/json" 请求方式传json参数问题
处理Http请求时遇到的ContentType为application/json方式,记录下这种Post请求方式下如何传json参数: var request = (HttpWebRequest)We ...
- 使用jmeter发送put请求的三种方式
之前在前公司使用jmeter调试接口时,由于都是get和post请求,所以一直是顺风顺水的,毫无阻拦在短时间内调试完所有接口. 但是呢,在换到新公司后,发现接口请求是多式多样的,get.post必须有 ...
- jmeter测试HTTP请求
HTTP超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.(详情参考看一下百科) HTTP发送请求有GE ...
- JMeter基础:请求参数Parameters 、Body Data的区别
使用Jmeter测试时,很多人不知道请求参数Parameters .Body Data的区别和用途,这里简单介绍下 先了解一个接口的基本概念 在客户机和服务器之间进行请求-响应时,HTTP协议中包括G ...
随机推荐
- 练习 HashSet 去重复
package com.rf.xs.list; import java.util.HashSet; public class Person { private String name; private ...
- Filebeat占用内存和CPU过高问题排查
经反馈,新部署的服务器上filebeat占用的cpu过高,且内存只增不减. 而据我了解filebeat非常轻量级,正常情况下占用的资源几乎都能忽略不计,所以怀疑是filebeat本身出了问题. 第一时 ...
- Python函数的一点用法
#python的基本语法网上已经有很多详细的解释了,写在这里方便自己记忆一些 BIF是python内置的函数,任何一门语言都能用来创造函数,python也不例外 1.创建一个函数 def func() ...
- java的重写
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法 ...
- eclipse调试远程tomcat
1.设置tomcat远程调试端口 catalina.sh export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,susp ...
- 运行caffe自带的mnist实例教程
运行caffe自带的mnist实例教程 本文结合几篇博文总结下来的,附上其中一篇原博文链接以供参考:http://blog.sina.com.cn/s/blog_168effc7e0102xjr1.h ...
- .Net Core+Angular6 学习 第四部分(EF Core(Code First))
目的: 打算通过EF core 练习从database receive data 显示到UI. 1. 创建一个新的project Model.定义一个 base interface entity以及实 ...
- ATL与COM之间的关系、ATL的特点与基本使用方法
http://blog.csdn.net/titilima/archive/2004/07/18/44273.aspx ATL,Active Template Library活动模板库 是一种微软程序 ...
- Angular/cli 安装(windows环境)。
1.卸载先前安装的Angular/cli npm uninstall -g angular-clinpm uninstall --save-dev angular-clinpm uninstall - ...
- SQL注入之Sqli-labs系列第五十关,第五十一关,第五十二关,第五十三关(ORDER BY堆叠注入)
0x1第五十关 源码中使用的mysqli_multi_query()函数,而之前使用的是mysqli_query(),区别在于mysqli_multi_query()可以执行多个sql语句,而mysq ...