【NO.6】HTTP请求-配置-POST请求-GET请求

时间:2021-05-08 02:16:09

直接举例来说 :)

例1:URL里面有”&”连接的情况

http://123.456.7.89:8080/aa/bb/cc/?userid=abcd@gmail.com&operation=rm&key=docs&value=3680635

简单说一下这个URL的意思也算是做到仁至义尽:用户abcd(userid)正在执行1个删除(rm)操作,删除的对象是id为3680635的这篇文章(docs)。

【NO.6】HTTP请求-配置-POST请求-GET请求

例2:URL里面不带”&”的情况,如果仍然以例1的方式配置那就是自寻死路

http://123.456.7.89:8080/article/relation/channel/0038/keyword/movie/start/0/size/20/

再仁至义尽一把:在article这个领域里面,定位到0038这个频道(channel),搜索与关键词(keyword)“movie”相关的东西,从搜索结果的第1条(start=0)开始罗列,一共列出20条结果。

【NO.6】HTTP请求-配置-POST请求-GET请求

!!但是,如果遇到URL里面不带”&”的情况,仍然以表单的形式发送请求,返回结果当然不是http200 ok。因为实际上我们发送出去的请求是下面这样的:

http://123.456.7.89:8080/article/relation/channel/{channel}/keyword/{keyword}/start/{start}/size/{size}/?{channel}=0038&{keyword}=movie&{start}=0&{size}=20

所以,这样的请求发送到服务器,显然是错误的。

于是当遇到URL里面不带”&”的情况,直接把请求写在路径里就行了,如下:

【NO.6】HTTP请求-配置-POST请求-GET请求

==============================补充说明:虽然浏览器的URL里面可以包含中文,但是Jmeter的URL里面不行=====================================

需要说明的是,如果在Jmeter的URL直接输入中文,也是不可以的

http://123.456.7.89:8080/article/relation/channel/0038/keyword/薄荷/start/0/size/20/

【NO.6】HTTP请求-配置-POST请求-GET请求

这个请求直接通过Jmeter向服务器发送,此时服务器会返回以下信息:

Response headers:

HTTP/1.1 400 The URL contains escaped bytes unsupported by the UTF-8 encoding.

所以看出,服务器不识别中文”薄荷”,即使这个URL通过浏览器发送是可以正常返回Json数据的。

那么,在执行性能测试的时候,可以首先把中文UTF-8编码,然后再加入到URL内,这样就好了,如下:

http://123.456.7.89:8080/article/relation/channel/0038/keyword/%E8%96%84%E8%8D%B7/start/0/size/20/

【NO.6】HTTP请求-配置-POST请求-GET请求