postman实现登录,后续接口请求带着cookie,防止被拦截

问题

用postman测试需要登录权限的接口时,会被拦截,解决办法就是每次请求接口前,先执行登录,然后记住cookie或者token,后续请求带着cookie或token再请求,就不会被拦截了。

postman中脚本执行顺序

在postman中,每个请求而言,先执行pre-request script,收到响应后再执行test script
在这里插入图片描述
而对于collection中的request而言,先执行collection中pre-request script,然后执行folder中的pre-request script,再执行请求中的pre-request script,收到响应后再一次执行collection、folder、request中的test script。
在这里插入图片描述

利用cookie保持登录状态

我的登录是利用cookie实现的,postman会自动记录cookie,先执行登录,后续请求都会带着登录返回的cookie,从而实现正常接口访问。这又涉及的cookie的知识,cookie是区分域、路径、协议的。
在这里插入图片描述
脚本如下

let url = pm.collectionVariables.get("common_url");
let postReq = {
    "url":`${url}/api/login`,
    method: 'POST',
    body: {
    mode: 'raw',
    raw: JSON.stringify({"username":"admin","password":"123456"})
  }
}

pm.sendRequest(postReq, function (err, response) {
    console.log(response.json());
});

可以看到这里用到了变量common_url,变量也是一个很有用的东西,通常请求一个网站,协议、域名都是一样的,那么可以抽取出来作为一个变量,以后变了请求地址,只改变量就行了,变量分为collection变量、全局变量、变量,有个变量Tab页。
在这里插入图片描述

不会用变量不要紧,点击右侧就能知道语法了。

pm.collectionVariables.get("variable_key");
pm.variables.get("variable_key");
pm.globals.get("variable_key");

在这里插入图片描述

如果想管理Cookie,在request中点击右侧的Cookies。
请添加图片描述

如果用token之类的,可以使用Authorization tab的API Key,提供了好几种场景。
在这里插入图片描述

总结

其实遇到这种问题,应该能猜到postman这么成熟的工具肯定有解决方案,最重要的是耐心看一下官方文档,常用的工具要多点点、多看看,保持好奇心,就像刚开始入行时一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值