Python 接口测试requests.post方法中data与json参数区别
post请求报文中既可以传data,也可以传json。并且data与json,既可以是str类型,也可以是dict类型。 json与data参数规则:
一、JSON
1.使用json参数,不管报文是str类型,还是dict类型,如果不指定headers中content-type的类型,默认是:application/json。
二、DATA
1.使用data参数,报文是dict类型,如果不指定headers中content-type的类型,默认application/x-www-form-urlencoded,相当于普通form表单提交的形式,会将表单内的数据转换成键值对,此时数据可以从request.POST里面获取,而request.body的内容则为a=1&b=2的这种键值对形式。
注意:即使指定content-type=application/json,request.body的值也是类似于a=1&b=2,所以并不能用json.loads(request.body.decode())得到想要的值。
2. 使用data参数,报文是str类型,如果不指定headers中content-type的类型,默认application/json。 【Python 接口测试requests.post方法中data与json参数区别】综上所述,两种参数的使用情况:
用data参数提交数据时,request.body的内容则为a=1&b=2的这种形式,用json参数提交数据时,request.body的内容则为'{"a": 1, "b": 2}'的这种形式
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 2020-04-07vue中Axios的封装和API接口的管理
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- 调取接口时报404错误(ID:16)
- CICC(脑机接口,科幻几近成真())
- Python基础|Python基础 - 练习1