python接口自动化--token登录(详解)

这篇具有很好参考价值的文章主要介绍了python接口自动化--token登录(详解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

   为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。有些登录不是用 cookie 来验证的,是用 token 参数来判断是否登录。token 传参有两种一种是放在请求头里,本质上是跟 cookie 是一样的,只是换个单词而已;另外一种是在 url 请求参数里,这种更直观。

登录返回token

1、如下图的这个登录接口,就是没有 cookies的登录接口。

 文章来源地址https://www.toymoban.com/news/detail-418593.html

python接口自动化--token登录(详解)

2、但是这个登录接口,登录成功后有返回token,如下图

python接口自动化--token登录(详解)

请求头带token

1、登录成功后继续操作其它页面,发现post请求的请求头,都会带有token参数

python接口自动化--token登录(详解)

2、这种请求其实比cookie更简单,直接把登录后的token放到头部即可

token关联

1、用脚本实现登录,获取token参数,获取后传参到请求头就可以了

2、如果登录有验证码,前面的脚本登录步骤就省略了,自己手动登录后获取token

参考代码

 1 # coding:utf-8
 2 import requests
 3 header = {   # 登录抓包获取的头部
 4         "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",
 5         "Accept": "*/*",
 6         "Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
 7         "Accept-Encoding": "gzip, deflate",
 8         "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
 9         "X-Requested-With": "XMLHttpRequest",
10         "Content-Length": "423",
11         "Connection": "keep-alive"
12         }
13 body = {"key1": "value1",
14         "key2": "value2"}  # 这里账号密码就是抓包的数据
15 s = requests.session()
16 login_url = "http://xxx.login"   # 自己找带token网址
17 login_ret = s.post(login_url, headers=header, data=body)
18 # 这里token在返回的json里,可以直接提取
19 token = login_ret.json()["token"]
20 # 这是登录后发的一个post请求
21 post_url = "http://xxx"
22 # 添加token到请求头
23 header["token"] = token
24 # 如果这个post请求的头部其它参数变了,也可以直接更新
25 header["Content-Length"]="9"
26 body1 = {
27          "key": "value"
28          }
29 post_ret = s.post(post_url, headers=header, data=body1)
30 print post_ret.content

小结

Token的意义及用法

一.Token的来源:

       当客户端多次向服务端请求数据时,服务端就需要多次从数据库中查询用户名和密码并进行对比,判断用户名和密码是否正确,并作出相应提示。但这样无疑会增加服务器端的运行压力,是否可以有一种方式只需要验证用户就是之前的用

户而不需要每次在客户端请求数据时都需要查询数据库判断用户名和密码是否正确。在这种请求下,引入了token来解决服务器端多次访问数据库问题。

1、什么是Token: 

       Token是服务端端生成的一串字符串,作为客户端进行请求时辨别客户身份的的一个令牌。当用户第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

2、使用Token的目的: 

Token的目的是为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

二. Token的运用流程:

1、当用户首次登录成功之后, 服务器端就会生成一个 token 值,这个值,会在服务器保存token值(保存在数据库中),再将这个token值返回给客户端;

2、客户端拿到 token 值之后,进行保存 (保存位置由服务器端设置);

3、以后客户端再次发送网络请求(一般不是登录请求)的时候,就会将这个 token 值附带到参数中发送给服务器.;

4、服务器接收到客户端的请求之后,会取出token值与保存在本地(数据库)中的token值进行比较;

5、如果两个 token 值相同, 说明用户登录成功过!当前用户处于登录状态;

6、如果没有这个 token 值, 没有登录成功;

7、如果 token 值不同: 说明原来的登录信息已经失效,让用户重新登录;

8、Django Rest framework中JWT的使用稍有差异,这里不做详细说明。

最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

python接口自动化--token登录(详解)

 

到了这里,关于python接口自动化--token登录(详解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Python简单实现接口自动化测试(详解)

    本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架pithy。期望读者可以通过本文对接口自动化测试有一个大致的了解。 为什么要做接口自动化测试? 在当前互联网

    2024年01月20日
    浏览(35)
  • Python接口自动化 ❀ Request库详解和框架封装

    从招聘需求我们不难看出目前市面上对软件测试人员的要求: 综合型的测试人才、侧重业务能力 代码能力(在自动化框架这一块有一定的建树) 开发思维(代码的封装能力) 而接口测试或者接口自动化是每一个面试环节都必问的,比如: 主流接口测试工具 Postman+Newman+Jen

    2023年04月21日
    浏览(38)
  • Python接口自动化测试实战详解,你想要的全都有

    目录 前言 一、接口自动化测试概述 二、搭建Python接口自动化测试框架 三、常用接口自动化测试库示例 四、总结 接口自动化测试是当前软件开发中最重要的环节之一,可以提高代码质量、加速开发周期、减少手工测试成本等优点。Python语言在接口自动化测试方面应用广泛,

    2024年02月09日
    浏览(34)
  • python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

    上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试。 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的

    2024年02月10日
    浏览(45)
  • 【实战详解】如何快速搭建接口自动化测试框架?Python + Requests

    本文主要介绍如何使用Python语言和Requests库进行接口自动化测试,并提供详细的代码示例和操作步骤。希望能对读者有所启发和帮助。 随着移动互联网的快速发展,越来越多的应用程序采用Web API(也称为RESTful API)作为数据交换的主要方式。针对API进行自动化测试已经变得非

    2024年02月09日
    浏览(42)
  • python接口自动化(二十六)--批量执行用例 discover(详解)

    我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到 unittest 里面的 discover 方法来加载用例了。加载用例后,用 unittest 里面的 TextTestRunner 这里类的 run 方法去一次执行多个脚 本的用例。那么前边介绍那么多都是半道开始,

    2024年02月13日
    浏览(47)
  • 自动化测试平台(三):用户token验证及用户增删改查接口开发

    上一篇我们实现了用户登录的验证并返回token。那如何去校验请求的token是否有效呢?这篇内容为你讲解token的验证及用户管理(增删改查)的功能。 完整教程地址:《从0搭建自动化测试平台》 项目在线演示地址:http://121.43.43.59/ (帐号:admin 密码:123456)

    2024年02月03日
    浏览(62)
  • python接口自动化(十)--post请求四种传送正文方式(详解)

    post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等。我们要知道post请求四种传送正文方式首先需要先了解一下常见的四种编码方式: HTTP 协议规定 POST 提交的数据必须放在消息主体(e

    2024年02月04日
    浏览(39)
  • 解决postman接口自动化测试中登录后401权限问题

    大家在做接口自动化测试的时候,碰到有登录的系统应该都会遇到401权限的问题,下面我来说下如何解决这个问题。   首先需要了解问题的本质,是要解决什么?这样我们才好对症下药,报401是因为用户在登录的时候,服务器会返回cookie,cookie是个校验机制,可以让服务器知

    2024年02月03日
    浏览(26)
  • 接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

    文章目录 前言 一、requests库的使用 二、json和字典的区别 三、后端登录接口-请求数据生成 四、接口自动化-对应电商项目中的功能 五、来自postman的代码-后端登录 总结 记录:json和字典的区别,json和字段的相互转化;postman发送请求与Python中代码发送请求的区别。 安装: p

    2024年02月01日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包