1.0 Django默认的CSRFtoken
表现:
后端使用的是Django的表单验证
post请求携带参数的问题
2.0 先处理post请求携带数据的csrfmiddlewaretoken
在登录界面
在input输入框中隐藏,所以需要提取input的value值,在【tests】脚本中进行提取,并且保存为环境变量
// 获取整个登录页面,然后保存csrftoken的值
var html_str = pm.response.text(); //代表的是获取整个响应页面
var a = html_str.match("<input type='hidden' name='csrfmiddlewaretoken' value='(.*?)' />")[1]; // 匹配页面上,我们需要的内容
console.log(a)
// 将这个值设置为环境变量
pm.environment.set("cstoken", a);
// 设置为全局变量
pm.globals.set("cstoken", a);
3.0 再处理Django返回响应中的cookies
再【tests】提取,并且保存为环境变量
// 获取返回的cookiecsrf值
var csrftokenval = postman.getResponseCookie("csrftoken").value;
// 设置为环境变量
pm.environment.set("csrftoken", csrftokenval);
4.0 以登录为例,处理自己的业务逻辑
登录页面----->短信验证码------->登录逻辑
在登录接口中,设置headers
设置请求体数据