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,防止被拦截的主要内容,如果未能解决你的问题,请参考以下文章

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

使用 Postman 进行接口测试(cookie设置)

H5实现登录

postman之cookie和token操作

postman接口测试:添加cookie以及身份验证

Postman中添加多个Cookie