在分享这篇博客前,吐槽下最近爬过的坑:你们是和我有仇吗?是不是折磨我这个小白有快感?
因为是自学,也没人带,所以很简单很基础的事情,就得多看几次;实践时,体会多次【爬很久的坑】,才能用清楚,搞明白。爬坑虽然不爽,但爬过后会很喜悦。
(一)POST请求-application/x-www-form-urlencoded
此次分享主要讲的是Content-Type为application/x-www-form-urlencoded的POST请求,即以表单数据的形式提交的post请求 (会将表单内的数据转换为键值对)。
关于content-type:application/x-www-form-urlencoded此种格式,在实际的post请求中如果不指定content-type,默认会使用此格式。参数格式:key1=value1&key2=value2
下面是使用mock来模拟接口的例子:
这个接口的url是"http://localhost:12306/post3"
;请求方法是post;要传的参数有name、address;
响应的Content-Type:application/json; charset=gbk,所以后面使用Postman时响应body中因为gbk显示乱码;正常响应的数据是{‘data’: ‘成功’, ‘msg’: {‘home’: ‘SD’, ‘gender’: ‘male’}}
JMeter访问此post请求【设置了断言】
参数可以在Parameters或Body Data里输入,格式不同,如下图1和图3所示。这两个参数输入的tab页只能使用一个,某一个有数据后不能切换到另一个。
A.参数可以在Parameters里输入
B.参数可以在Body Data里输入
Postman访问此post请求【设置了断言】
A.请求参数添加在Body中。不同的body editor 分为4个区域,根据body类型有不同的控制。这儿选择x-www-form-urlencoded。
B.执行A后,Header是自动做了添加。
C.断言设置和实际的响应体
Requsets库 自动化测试访问此post请求【设置了断言,打印了很多信息】
(二)Fiddler抓包验证
刚才的请求发送后,使用Fiddler抓包,结果如下:
【请求头、响应头】
【请求的参数、响应的内容】
【Raw】
交流技术 欢迎+QQ 153132336 zy