postman实现登录,后续接口请求带着cookie,防止被拦截
Posted QQ_851228082
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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这么成熟的工具肯定有解决方案,最重要的是耐心看一下官方文档,常用的工具要多点点、多看看,保持好奇心,就像刚开始入行时一样。
以上是关于postman实现登录,后续接口请求带着cookie,防止被拦截的主要内容,如果未能解决你的问题,请参考以下文章