一、请求参数-params
1.1、请求参数params简介
案例: 'requests' 的搜索结果 - 测试人社区
- 接口请求中携带的,会在路径之后使用
?
代表客户端向服务端传递的参数。
- 使用
key=value
形式拼接在 URL 中。
- 如果有多个,则使用
&
分隔
1.2、携带请求参数的方式
- 常用两种方式:
- 直接在 URL 中拼接:
?username=Hogwarts&id=666
。
- 通过 params 参数传递:
requests.get(url, params)
1.3、示例
def test_get_by_params():
# 定义接口的 url 和拼接在 url 中的请求参数
url = "https://httpbin.ceshiren.com/get"
params ={
"get_key": "get_value"
}
# 发出 GET 请求,r 接收接口响应
r = requests.get(url, params=params)
def test_get_by_url():
# 定义接口的 url 和拼接在 url 中的请求参数
url = "https://httpbin.ceshiren.com/get?get_key=get_value"
# 发出 GET 请求,r 接收接口响应
r = requests.get(url)
def test_post_by_params():
# 定义接口的 url 和表单格式请求体
url = "https://httpbin.ceshiren.com/post"
params = {
"post_key": "post_value"
}
# 发出 POST 请求,r 接收接口响应
r = requests.post(url, params=params)
二、请求头信息-headers
2.1、请求头信息的使用场景
2.2、请求头信息
- HTTP 请求头是在 HTTP 请求消息中包含的元数据信息,用于描述请求或响应的一些属性和特征。
- 实际工作过程中具体要关注的头信息字段需要和研发沟通。
常见的头信息
内容 |
含义 |
authorization |
表示客户端请求的身份验证信息 |
cookie |
表示客户端的状态信息,通常用于身份验证和会话管理 |
content-type |
表示请求消息体的mime类型 |
user-agent |
发送请求的客户端软件信息 |
2.3、构造请求头
headers = {'user-agent': 'my-app/0.0.1'}
r = requests.get(url, headers=headers)
三、请求体信息-body
3.1、接口请求体
- 进行HTTP请求时,发送给服务器的数据。
- 数据格式类型可以是JSON、XML、文本、图像等格式。
- 请求体的格式和内容取决于服务器端API的设计和开发人员的要求。
3.2、常用接口请求体
类型 |
描述 |
content-type |
JSON(JavaScript object notation) |
轻量级的数据交换格式,最常见的一种类型 |
application/json |
表单数据(form data) |
以键值对的形式提交的数据 |
application/x-www-form-urlencoded |
xml(extensible markup language) |
常用的标记语言,常用于传递配置文件等数据 |
application/xmltext/xml |
文件(file) |
可以通过请求体上传文件数据,如图片、Excel。 |
上传文件的MIME类型,例如image/jpeg |
纯文本(text) |
纯文本数据,如发送邮件、消息等 |
text/plain |
其他格式 |
二进制数据,protobuf等格式 |
|
3.3、JSON 格式请求体介绍
- 是 JavaScript Object Notation 的缩写。
- 是一种轻量级的数据交换格式。
- 是理想的接口数据交换语言。
- Content-Type 为 application/json。
3.3、构造 JSON 格式请求体
def test_post_json():
# 定义接口的 url 和 json 格式请求体
url = "https://httpbin.ceshiren.com/post"
params = {
"post_key": "post_value"
}
# 发出 POST 请求,r 接收接口响应
r = requests.post(url, json=params)