课程大纲
上节课已经尝试进行了get请求,获取网站http://httpbin.org/的首页。
本节课使用网站"httpbin.org"演示几种基础的http请求。post、put、delete方法使用方法相同,所以仅以post为例来演示。
本节课所有请求仅填写:请求行、请求体。jmeter发送请求会添加默认请求头。
++接口基础知识合集https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzU2Mzg0NTkwOQ==&action=getalbum&album_id=3621548057847742470&uin=&key=&devicetype=iMac+MacBookPro17%2C1+OSX+OSX+12.7.6+build(21H1320)&version=13080810&lang=zh_CN&nettype=WIFI&ascene=7&session_us=gh_34866d2cf22e&fontScale=100++
1. get 请求 - 无参数
|---------------|--------------|
| get请求-无参数 ||
| 请求协议 | http(不区分大小写) |
| 请求方法 | get(不区分大小写) |
| IP/域名 | httpbin.org |
| 端口号 | 空或80(默认80) |
| 路径 | 空 |
| 内容编码 | utf-8 |
| jmeter截图 ||
| ① 组件"HTTP请求 "填写内容****:**** ② 发送请求,到本请求包含的组件"察看结果树 "查看请求详情: 左侧结果列表绿色✅图标代表请求成功,响应码200。 ++++请求体++++ ++++请求头(jmeter默认添加的)++++ ③ 查看响应: ++++响应体(响应数据)++++ ++++响应头++++ ||
其他示例只配重点截图,不再赘述所有部分。
2. get 请求 -1 个参数
|---------------|--------------------|
| get请求-1个参数 ||
| 请求协议 | http(不区分大小写) |
| 请求方法 | get(不区分大小写) |
| IP/域名 | httpbin.org |
| 端口号 | 空或80(默认80) |
| 路径 | /get |
| 内容编码 | utf-8 |
| 参数 | username=tuxiaomao |
| get请求参数2种填写方法:1.参数表格;2.直接拼到url。二选一即可。 ||
| jmeter截图:方法1-使用参数表格 ||
| ① 组件"HTTP请求 "填写内容****:**** ② 发送请求,到本请求包含的组件"察看结果树 "查看请求详情: 可以看到,get请求的参数会拼接到url上发送。 ||
| jmeter截图:方法2-拼接到路径 ||
| 组件"HTTP请求 "填写内容****:**** ||
3. get 请求 - 多个参数
|---------------|------------------------------------|
| get请求-多个参数 ||
| 请求协议 | http(不区分大小写) |
| 请求方法 | get(不区分大小写) |
| IP/域名 | httpbin.org |
| 端口号 | 空或80(默认80) |
| 路径 | /get |
| 内容编码 | utf-8 |
| 参数 | username=tuxiaomao password=888888 |
| get请求参数2种填写方法:1.参数表格;2.直接拼到url。二选一即可。 ||
| jmeter截图:方法1-使用参数表格 ||
| ① 组件"HTTP请求 "填写内容****:**** ② 发送请求,到本请求包含的组件"察看结果树 "查看请求详情: 可以看到,get请求多个参数使用"&"分隔。 ||
| jmeter截图:方法2-拼接到路径 ||
| 组件"HTTP请求 "填写内容****:**** ||
4. post 请求 - " form-data "参数
|---------------|------------------------------------|
| post请求-"form-data"参数 ||
| 请求协议 | http(不区分大小写) |
| 请求方法 | post(不区分大小写) |
| IP/域名 | httpbin.org |
| 端口号 | 空或80(默认80) |
| 路径 | /post |
| 内容编码 | utf-8 |
| 参数 | username=tuxiaomao password=888888 |
| post请求要勾选"multipart/form-data",否则会和get方法一样使用普通方式拼接参数。 (请求数据的格式讲解见"接口基础课程") ||
| jmeter截图:正确演示 ||
| ① 组件"HTTP请求 "填写内容,勾选"multipart/form-data": ② 发送请求,到本请求包含的组件"察看结果树 "查看请求详情: 可以看到,请求体数据格式、请求头数据类型均为"form-data"。 ++++请求体++++ ++++请求头:数据类型字段为form-data++++ 请求头中的boundary就是请求体中的分隔符(2个图不是同一个请求,所以分隔符不同)。 ||
| jmeter截图:不勾选 ||
| ① 组件"HTTP请求 "填写内容,不勾选"multipart/form-data": ② 发送请求,到本请求包含的组件"察看结果树 "查看请求详情: 可以看到,请求体格式同get,请求头可见数据类型非"form-data"。 ++++请求体++++ ++++请求头:数据类型字段非form-data++++ ||
5. post 请求 - " json "参数
|---------------|------------------------------------|
| post请求-"json"参数 ||
| 请求协议 | http(不区分大小写) |
| 请求方法 | post(不区分大小写) |
| IP/域名 | httpbin.org |
| 端口号 | 空或80(默认80) |
| 路径 | /post |
| 内容编码 | utf-8 |
| 参数 | username=tuxiaomao password=888888 |
| json是最常用的数据格式,json参数格式,可百度学习,非常简单。 ||
| jmeter截图:1个参数 ||
| ① 组件"HTTP请求 "填写内容****:**** 参数写到"消息体数据",数据内容:{"username":"tuxiaomao"}。 ② 发送请求,到本请求包含的组件"察看结果树 "查看请求详情: 可以看到,请求体数据格式是json。 ||
| jmeter截图:多个参数 ||
| ① 组件"HTTP请求 "填写内容****:**** json参数之间用英文","分隔,末尾不加符号。 {"username":"tuxiaomao","password":"88888888"}。 ||
关于发送json数据的补充:如果不添加请求头,jmeter默认数据格式为文本。
一般我们会添加请求头组件,指定数据格式为"application/json"。操作如下:
① 添加请求头组件: 选中请求,鼠标右键菜单> "添加" > "配置元件" > "HTTP信息头管理器"。
② 设置请求头: 在组件中填写请求头信息,名称:"Content-Type" ,值:"application/json"。
发送请求,查看请求头详情,可见已生效。