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 ...
随机推荐
- Js的运算符
JS的运算符 1.运算符的分类: a) 算数运算符 b) 字符串运算符 c) 赋值运算符 d) 比较运算符 e) 逻辑运算符 f) 位运算符 g) 其他运算符 2.算数运算符 + 加法运算符 - 减法 ...
- C语法简单测试
1.未初始化的枚举变量 /* uninitialized-enum.c */ #include <stdio.h> , black, blue}; int main(void) { enu ...
- 分布式大数据系统离线分析技术解决方案(spark2.x)
一.sark2.x新型的架构系统
- 1011. World Cup Betting (20)
生词(在文中的意思) tie 平局 lay a bet 打赌 putting their money where their mouths were 把他们的钱用在刀刃上 manner of 的方式 ...
- 使用bitsadmin.exe 下载文件,配合bcn.bat玩出更多的花样~~
bitsadmin的简单介绍与基本用法: bitsadmin.exe 可以用来在windows 命令行下下载文件.bitsadmin是windows 后台智能传输服务的一个工具,windows 的自动 ...
- div css 图片和文字上下居中对齐
想要图片和文字水平居中对齐很容易,可今天做这个树的时候,遇到了要将图片上下居中.这下就不知道怎么搞. 拿手册看也看不出所以然来,不同的浏览器对DIV的支持不一个,目前最好的浏览器是Firefox. 这 ...
- python3 进行字符串、日期、时间、时间戳相关转换
1.字符串转换成时间戳 2. 日期转换成时间戳
- JAVA作业三
(一)学习总结 1.阅读下面程序,分析是否能编译通过?如果不能,说明原因.应该如何修改?程序的运行结果是什么?为什么子类的构造方法在运行之前,必须调用父 类的构造方法?能不能反过来? class Gr ...
- ES6 let&const
今天来总结一下ES6里面let与const的用法 先总体看一下ES6中的let都有哪些特性: let 特性 let声明的变量在js中不可以重复声明,防止变量的污染和覆盖 let声明的变量不涉及变量的提 ...
- 2018-4-12 数学建模MATLAB常用的一些函数
一.求函数的极限问题 limit(fun,x,y,str) 意义:fun为所求极限的函数,x代表变量,y代表变量的极限值,str代表这个极限的类型,常用的参数是right,left. 如果是多个变量的 ...