当前位置: 首页 > news >正文

关于Postman自动获取token

    在使用postman测试联调接口时,可能每个接口都需要使用此接口生成的令牌做Authorization的Bearer Token验证,最直接的办法可能会是一步一步的点击,如下图:

在Authorization中去选择''Bearer Token'',然后将获取到的token粘贴在输入框中,才可以请求接口;

       这样的操作虽然可以进行,也能请求成功,获取到自己想要的数据,但是在接口量较多的情况下显然逐步操作填写token比较费时费力,为了进一步提高效率,我们可以通过实时自动获取token来直接请求接口

在 Postman 中,每次手动修改 Token 确实很麻烦,尤其是当 Token 过期或需要频繁测试接口时。为了自动化获取和配置 Token,可以通过 Postman 的 环境变量 和 Pre-request Script 功能来实现。以下是具体步骤:

  1. 开 Postman,点击右上角的 Environment Quick Look(眼睛图标)或者左侧菜单栏的Environments。

  2. 点击 Add 创建一个新的环境(例如命名为 My API Environment)。

  3. 在环境变量中添加一个变量,比如 token,用于存储 Token 值。

  4. 有一个获取Token的接口,url method body;

  5. 配置获取Token的请求  :在 Postman 中创建一个新的请求,命名为 Get Token;填写获取 Token 的接口信息(URL、Method、Body 等);在 Tests 标签页中,编写脚本将 Token 保存到环境变量中:

// 解析响应数据
const response = pm.response.json();// 检查响应中是否包含 Token
if (response.token) {// 将 Token 保存到环境变量pm.environment.set("token", response.token);console.log("Token 已保存到环境变量:", response.token);
} else {console.log("响应中未找到 Token");
}

 

     

注意事项

  • 确保接口的响应数据中包含 token 字段。

  • 如果接口返回的字段名不是 token,需要根据实际字段名修改脚本(例如 response.access_token)。

    6.如果 Token 有过期时间,可以在每次请求前检查 Token 是否过期,并自动获取新的 Token。

     6_1.在 Pre-request Script 中编写脚本:

// 检查 Token 是否存在或过期
const token = pm.environment.get("token");
const tokenExpiry = pm.environment.get("token_expiry"); // 假设你存储了 Token 过期时间if (!token || (tokenExpiry && new Date(tokenExpiry) < new Date())) {// 如果 Token 不存在或过期,发送获取 Token 的请求pm.sendRequest({url: '登录接口或者是专门获取token的接口',method: 'POST',header: {'Content-Type': 'application/json'},body: {mode: 'raw',raw: JSON.stringify({username: "your_username",password: "your_password"})}}, function (err, res) {const response = res.json();// 保存新的 Token 和过期时间pm.environment.set("token", response.token);pm.environment.set("token_expiry", new Date(new Date().getTime() + response.expires_in * 1000)); // 假设返回了 expires_in});
}

7.在其他请求中使用token

      7_1.在其他需要 Token 的请求中,可以通过 {{token}} 引用环境变量中的 Token:

8.通过上述第五步 直接Send发送请求接口可以看到返回的相关的token 、expires_in等,创建的环境中token的值就会自动填写;当你在请求其他接口时就不需要手动的CVtoken数据啦

http://www.lryc.cn/news/544017.html

相关文章:

  • LSTM长短期记忆网络-原理分析
  • sql server笔记
  • AI Video Composer:基于Qwen2.5-Coder的简易开源视频创作利器
  • AI数字人开发,引领科技新潮流
  • VoIP之音频3A技术
  • [原创]openwebui解决searxng通过接口请求不成功问题
  • Jmeter聚合报告导出log文档,Jmeter聚合报告导出到CSV
  • mysqldump 参数详解
  • DeepSeek R1 简易指南:架构、本地部署和硬件要求
  • 基于 ‌MySQL 数据库‌对三级视图(用户视图、DBA视图、内部视图)的详细解释
  • [Web 信息收集] Web 信息收集 — 手动收集 IP 信息
  • 跨AWS账户共享SQS队列以实现消息传递
  • DeepSeek 202502 开源周合集
  • springai系列(二)从0开始搭建和接入azure-openai实现智能问答
  • Apache部署Vue操作手册(SSL部分)
  • 人类驾驶的人脑两种判断模式(反射和预判)-->自动驾驶两种AI模式
  • Docker和K8S中pod、services、container的介绍和关系
  • 【uniapp】在UniApp中实现持久化存储:安卓--生成写入数据为jsontxt
  • DeepSeek-R1本地部署保姆级教程
  • Python常见面试题的详解25
  • DeepSeek赋能大模型内容安全,网易易盾AIGC内容风控解决方案三大升级
  • 阿里开源正式开园文生视频、图生视频模型-通义万相 WanX2.1
  • 【Python爬虫(73)】用Python爬虫开启交通数据宝藏,畅行出行未来
  • 和鲸科技携手四川气象,以 AI 的力量赋能四川气象一体化平台建设
  • spring boot 2.7 + seata +微服务 降级失败问题修复
  • python-leetcode-最长公共子序列
  • centos 7 停更后如何升级kernel版本 —— 筑梦
  • WPF-3天快速WPF入门并达到企业级水准
  • 爬虫反爬:CSS位置偏移反爬案例分析与实战案例
  • Ubuntu20.04安装Redis