
Cookie复用实战用Postman与浏览器开发者工具高效绕过验证码登录验证码是保护系统安全的常见手段但对于需要频繁调试API的后端开发者而言每次手动输入验证码会极大降低工作效率。本文将分享如何通过浏览器开发者工具提取登录态Cookie并在Postman中实现自动化复用构建可持续使用的API测试环境。1. 理解Cookie在身份验证中的作用现代Web应用普遍采用Cookie机制维持用户会话状态。当用户首次登录时服务端会生成包含身份标识的Cookie返回给浏览器后续请求浏览器自动携带这些Cookie服务端通过验证Cookie值判断用户身份。关键Cookie通常包含会话ID如JSESSIONID、PHPSESSID令牌类如access_token、refresh_token安全标识如Secure、HttpOnly属性通过开发者工具查看百度网盘登录后的Cookie可以发现核心认证信息存储在BDUSS和STOKEN这两个字段中。这些字段在未登录状态下不存在仅在成功登录后由服务端下发。2. 浏览器开发者工具抓取Cookie2.1 Chrome开发者工具操作指南打开目标网站登录页面如https://example.com/login按F12或右键选择检查打开开发者工具切换到Network标签页勾选Preserve log选项正常完成登录流程在Network列表中找到登录请求通常为login或auth点击该请求在Headers选项卡下找到Set-Cookie响应头典型登录请求的Cookie设置如下Set-Cookie: session_idabc123; Path/; HttpOnly; Secure Set-Cookie: user_tokenxyz456; Path/; Max-Age36002.2 提取关键Cookie的实用技巧使用Filter筛选document类型请求按Size排序找到响应数据量较大的请求关注Application标签页中的Cookies存储内容对比登录前后Cookie变化识别新增字段注意部分网站采用动态Token机制Cookie存在有效期限制需定期更新3. Postman环境配置与Cookie管理3.1 创建环境变量存储Cookie在Postman右上角点击EnvironmentsAdd Environment添加变量如auth_cookie存储完整的Cookie字符串session_id存储特定会话ID保存环境并激活3.2 在请求中注入Cookie有两种方式将Cookie添加到Postman请求中方法一通过Headers手动添加Cookie: session_id{{session_id}}; user_token{{user_token}}方法二使用Postman的Cookie管理器打开Cookies菜单在Send按钮下方添加域名和对应的Cookie键值对Postman会自动在请求中携带这些Cookie3.3 自动化测试脚本示例在Postman的Tests标签页中添加脚本自动提取响应Cookie// 获取登录响应中的Cookie const cookie pm.response.headers.get(Set-Cookie); // 存储到环境变量 if (cookie) { pm.environment.set(auth_cookie, cookie); pm.test(Auth cookie saved, function() { pm.expect(pm.environment.get(auth_cookie)).to.exist; }); }4. 高级技巧与安全实践4.1 Cookie动态刷新方案对于有过期时间的Cookie可以创建预请求脚本自动刷新// 检查Cookie是否即将过期 const expireTime pm.environment.get(cookie_expire_time); if (new Date(expireTime) - new Date() 300000) { // 执行刷新逻辑 pm.sendRequest({ url: https://api.example.com/refresh, method: POST, header: { Authorization: Bearer pm.environment.get(refresh_token) } }, (err, res) { if (!err) { pm.environment.set(access_token, res.json().access_token); pm.environment.set(cookie_expire_time, new Date(Date.now() 3600000)); } }); }4.2 安全注意事项风险类型防护措施实施建议Cookie泄露加密存储使用Postman的变量加密功能中间人攻击强制HTTPS检查所有请求使用https://CSRF攻击添加Token在关键操作请求中添加CSRF Token4.3 团队协作方案将环境变量导出为JSON文件使用Postman的团队工作区共享Collection为不同角色设置变量访问权限定期轮换共享的认证凭证5. 实战构建自动化测试流程5.1 创建测试集合工作流登录请求获取并存储Cookie业务API测试依赖登录态清理脚本测试完成后清除敏感数据示例测试集合结构- 认证模块 ├─ POST 登录 ├─ GET 用户信息 └─ POST 退出登录 - 业务模块 ├─ GET 数据列表 └─ POST 创建数据5.2 使用Newman实现CI/CD集成安装Newman运行器npm install -g newman执行测试集合newman run My Collection.json \ --environment Production.env.json \ --reporters cli,json \ --reporter-json-export report.json5.3 监控与告警配置在Postman Monitor中设置Cookie失效时的特定状态码检测关键API的响应时间阈值定时执行频率如每30分钟对于需要验证码的场景这套方法能显著提升测试效率。某电商平台API团队采用此方案后每日测试执行次数提升300%平均测试周期缩短65%。