无锡网站建设网龙岩网红郭建平
2026/5/21 21:20:49 网站建设 项目流程
无锡网站建设网,龙岩网红郭建平,广西华宇建设集团网站,网址大全123上网以下介绍Token原理及在自动化中的应用。 一、Token基本概念及原理 1.Token作用 为了验证用户登录情况以及减轻服务器的压力#xff0c;减少频繁的查询数据库#xff0c;使服务器更加健壮。 ​ 2.什么是Token Token是服务端生成的一串字符串#xff0c;以作客户端进行请…以下介绍Token原理及在自动化中的应用。一、Token基本概念及原理1.Token作用为了验证用户登录情况以及减轻服务器的压力减少频繁的查询数据库使服务器更加健壮。​2.什么是TokenToken是服务端生成的一串字符串以作客户端进行请求的一个令牌当第一次登录后服务器生成一个Token便将此Token返回给客户端以后客户端只需带上这个Token前来请求数据即可无需再次带上用户名和密码。​3.Token运行原理​1.当用户首次登录成功之后, 服务器端就会生成一个 token 值这个值会在服务器保存token值(保存在数据库中)再将这个token值返回给客户端2.客户端拿到 token 值之后进行保存 保存位置由服务器端设置3.以后客户端再次发送网络请求(一般不是登录请求)的时候,就会将这个 token 值附带到参数中发送给服务器4.服务器接收到客户端的请求之后,会取出token值与保存在本地(数据库)中的token值进行比较5.如果两个 token 值相同 说明用户登录成功过当前用户处于登录状态6.如果没有这个 token 值, 没有登录成功7.如果 token 值不同说明原来的登录信息已经失效,让用户重新登录4.Token认证优点无状态(也称服务端可扩展行):Token机制在服务端不需要存储session信息因为Token 自身包含了所有登录用户的信息只需要在客户端的cookie或本地介质存储状态信息.可重用性在多个平台和域domains上运行重复使用相同的令牌来验证用户很容易构建与其他应用程序共享权限的应用程序。安全性由于我们没有使用 Cookies我们不必再防御网站的跨站点请求伪造CSRF攻击。5.Token和 Cookie、Session 的选型对于只需要登录用户并访问存储在站点数据库中的一些信息的中小型网站来说Session Cookies 通常就能满足。如果有企业级站点应用程序或附近的站点并且需要处理大量的请求尤其是第三方或很多第三方包括位于不同域的API则 token显然更适合。二、Token实战讲了那么多概念和原理很多小伙伴可能不知道token长啥样接下来以接口登录为例。import requestsurl http://127.0.0.1:8000/user/login/payload {username:vivi,password:123456}res requests.post(url,jsonpayload)print(res.text)响应结果如下{token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InZpdmkiLCJleHAiOjE1ODY4NDg5NzgsImVtYWlsIjoidml2aUBxcS5jb20ifQ.a2ExtNVjGrY8T1gefcJTnk4JUOx9NVtCk6lMK8o47co,user_id: 1,username: vivi}响应结果有返回token但是token要怎么用呢不急我们一步步来。假设现在有个项目列表的接口在不登录的前提下不能访问。import requestsurl http://127.0.0.1:8000/projects/pro_res requests.get(url)print(pro_res.json())响应结果提供认证信息{detail: 身份认证信息未提供。}一键获取完整项目代码项目列表接口需要携带token服务器校验成功后才能成功返回信息重点来了如何从登录接口获取token项目列表接口又如何携带token访问登录接口并获取token。import requestsurl http://127.0.0.1:8000/user/login/payload {username:vivi,password:123456}login_res requests.post(url,jsonpayload)# 从响应结果中获取token值token login_res.json()[token]print(token:, token)响应结果为token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InZpdmkiLCJleHAiOjE1ODY4NTEyMjksImVtYWlsIjoidml2aUBxcS5jb20ifQ.neqVM5MFGuFbKIUOCqW_qXBajhTTQMfmAs2PWTkEMes一键获取完整项目代码那项目列表接口又如何携带token呢token直接加在请求头这样就可以了么当然不是我们还需要在token前加上前缀前缀由后端设置见过最多的前缀是Bearer不清楚的参照接口文档。项目列表携带token访问。import requestsurl http://127.0.0.1:8000/projects/# 拼接最终的token注意中间有个空格token Bearer tokenheaders{authorization: token}pro_res requests.get(url,headersheaders)print(pro_res.json())响应结果为{count: 2,results: [{id: 1,name: 自动化测试平台项目1,tester: vivi},{id: 2,name: 自动化测试平台项目2,tester: coco}],total_pages: 1,current_page_num: 1}总结本文主要介绍token基本概念、运行原理及在自动化中接口如何携带token进行访问。如果我的博客对你有帮助、如果你喜欢我的博客内容请 “点赞” “评论” “收藏” 一键三连哦感谢每一个认真阅读我文章的人作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。视频文档获取方式这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方小卡片即可自行领取。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询