博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转载:postman自动设置token(csrf及authorization token)
阅读量:5031 次
发布时间:2019-06-12

本文共 981 字,大约阅读时间需要 3 分钟。

原文链接:

 

正文引用:

近期在开发一个Django的项目,由于开启了csrf防护,所以需要在请求的header中加入“X-CSRFToken”。使用postman进行请求的测试时,如果不加这个header,则会返回403错误。

Django项目的csrftoken一般在登录的时候会设置到cookie中,本文描述了如何使用postman自动获取cookie中的csrftoken,并将该值自动设置到后续请求的header中。

为了自动化地设置这个token,我们需要使用postman的“Tests”功能。Postman的“Tests”功能支持使用JS进行一些变量操作。我们可以在登录接口的请求中填入如下的Tests脚本:

1 2 3
var csrf_token = postman.getResponseCookie("csrftoken").value postman.clearGlobalVariable("csrftoken"); postman.setGlobalVariable("csrftoken", csrf_token);

脚本编写后内容入下图所示:

设置Tests脚本

该脚本将登录后设置的csrftoken这个cookie的值获取到,并设置为一个postman的全局环境变量(csrftoken),此时点击postman界面右上角眼睛一样的图标可以直接查看到这个全局的变量:

查看全局变量

此时可以在后续的请求中设置“X-CSRFToken”这个header,值就是刚才设置好的全局变量,使用“”即可完成引用:

设置header

此后每次重新登录,该变量值就会重新进行设置,使得系统API的自动化测试可以顺利进行。

在实际开发中,我们有时候还会使用token进行认证,认证用的token也可以通过类似的方式来进行设置,只是获取token的方式是从返回的json中来获取,下图是一个设置认证头的示例,:

1 2 3
var token = JSON.parse(responseBody).token; postman.clearGlobalVariable("token"); postman.setGlobalVariable("token", token);

界面设置效果如下:

设置认证header

转载于:https://www.cnblogs.com/atuotuo/p/11189063.html

你可能感兴趣的文章
PHP表单(get,post)提交方式
查看>>
使用vbs或者bat脚本修改IE浏览器安全级别和选项
查看>>
Silverlight入门
查看>>
Silverlight动态调用WEBSERVICE,WCF方法
查看>>
LeetCode 895. Maximum Frequency Stack
查看>>
模仿segmentfault 评论
查看>>
一个简单的日志函数C++
查看>>
Java 8 中如何优雅的处理集合
查看>>
IOS程序的启动过程
查看>>
连接Linux下 XAMPP集成环境中部署的禅道的数据库MariaDB
查看>>
Java操作Excel和Word
查看>>
Oracle 体系结构之ORACLE物理结构
查看>>
ORA-12538: TNS: no such protocol adapter
查看>>
盒子模型
查看>>
局域网协议
查看>>
[HNOI2012]永无乡 线段树合并
查看>>
Spring整合hibernate:3、使用XML进行声明式的事务管理
查看>>
SqlServer之Convert 函数应用格式化日期(转)
查看>>
软件测试领域中的10个生存和发展技巧
查看>>
Camera前后摄像头同时预览
查看>>