Bootstrap

django 开启CSRFtoken校验,以及postman实现问题

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
在这里插入图片描述

设置请求体数据
在这里插入图片描述

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;