token

embedded/2025/1/15 19:28:42/

token案例:

案例:

网站:http://shop.duoceshi.com/login?redirect=%2Fdashboard

code接口:http://manage.duoceshi.com/auth/code

登录接口:http://manage.duoceshi.com/auth/login

登录接口参数:{"username":"admin","password":"e6WGOz+g/FuR646O7IF8JrlC6qH/anCI9/0UCsVDnUxN2aBdGKtRffNb1W7i87dRavZCNyP9yqvAcXLgdKtsRA==","code":"8888","uuid":"{{uuid}}"}

链接类型:Content-Type:application/json

搜索商品接口:http://manage.duoceshi.com/api/yxStoreCategory?page=0&size=10&sort=sort%2Cdesc

Authorization:

Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTY4MDE0OTgwNX0.fmlEdR5Xh1BF2al6crfPMjG8dd-M6TOKux3wni5ejvGFLce4Zk0tvKsCobj7WEaXvXI-N-21AIj2HH5LFlFMNw

一、postman工具实现

第一个接口:

code接口:http://manage.duoceshi.com/auth/code

 test中的语句:

//需要拿到uuid接口返回值里面的uuid作为下一个接口请求头里面的入参
// 1.通过JSON.parse函数把responseBody响应体进行格式化为json字符串
var jsonData = JSON.parse(responseBody);

// 2.通过json字符串里面的uuid这个键拿到对应的uuid值
postman.setEnvironmentVariable("uuid",jsonData.uuid);

第二个接口:

登录接口:http://manage.duoceshi.com/auth/login

body参数:

{"username":"admin","password":"e6WGOz+g/FuR646O7IF8JrlC6qH/anCI9/0UCsVDnUxN2aBdGKtRffNb1W7i87dRavZCNyP9yqvAcXLgdKtsRA==","code":"8888","uuid":"{{uuid}}"}
test语句:

//需要拿到登录接口返回值里面的token作为下个接口请求头里面的入参
// 1.通过JSON.parse函数把response响应体进行格式化为json字符串
var jsonData = JSON.parse(responseBody);
// 2.通过json字符串里面的token这个键拿到对应的token值设为环境变量
postman.setEnvironmentVariable("token", jsonData.token);

 

第三个接口:

搜索接口:

http://manage.duoceshi.com/api/yxStoreCategory?page=0&size=10&sort=sort%2Cdesc

 ==========================================================

python 获取tonken

复制代码

import  requests
def uid():url="http://manage.duoceshi.com/auth/code"h={"Content-Type":"application/json"}r=requests.get(url=url,headers=h)print(r.text)  #返回参数u=r.json()["uuid"]print(u)return r.json()['uuid'] #在返回参数中提取
def login():url1="http://manage.duoceshi.com/auth/login"h1 = {"Content-Type": "application/json"}data1={"username":"admin","password":"AL2HPFkHICFLSF7Nh0HBWqKf2XbZh9aBqM01ygQmQl61eLZVjxjXVp3/KtTwUzGiTHIhBXmdEExVzD4RoIYdhA==","code":"8888","uuid":uid() #引用上一个接口}r1=requests.post(url=url1,json=data1,headers=h1)  #备注data数据要json格式,才能查看到返回数据print(r1.text)print(r1.json())t=r1.json()["token"]print(t)return  r1.json()['token']  #在返回体中提取token
def bid():url2="http://manage.duoceshi.com/api/menus/build"h2={"Authorization":login()}r2=requests.get(url=url2,headers=h2)print(r2.json())
if __name__ == '__main__':# uid()# login()bid()

复制代码

第二种方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

import  re

import  requests

class tonken():

    def  __init__(self):

        pass

    def uid(self):

       url="http://manage.duoceshi.com/auth/code"

       h={"Content-Type":"application/json"}

       r=requests.get(url=url,headers=h)

       # print(r.text)  #返回参数

       wb=r.text

       s=re.findall('"uuid":"(.+?)"',wb)

       print(s)

       dict1 = {}

       dict1['uuid'= s[0]

       for i,j in dict1.items():

          print(j)

          return j

    def login(self):

       c=self.uid()

       url1="http://manage.duoceshi.com/auth/login"

       h1 = {"Content-Type""application/json"}

       data1={"username":"admin",

           "password":"AL2HPFkHICFLSF7Nh0HBWqKf2XbZh9aBqM01ygQmQl61eLZVjxjXVp3/KtTwUzGiTHIhBXmdEExVzD4RoIYdhA==",

           "code":"8888",

           "uuid":c#引用上一个接口

           }

       r1=requests.post(url=url1,json=data1,headers=h1)  #备注data数据要json格式,才能查看到返回数据

       print(r1.text)

       wb1=r1.text

       = re.findall('"token":"(.+?)"', wb1)

       print(s)

       dict2 = {}

       dict2['uuid'= s[0]

       for i, j in dict2.items():

           print(j)

           return j

    def   build(self):

       url2="http://manage.duoceshi.com/api/menus/build"

       h2={"Authorization":self.login()}

       r2=requests.get(url=url2,headers=h2)

       print(r2.json())

if __name__ == '__main__':

    dx=tonken()

    # dx.uid()

    # dx.login()

    dx.build()

  第三种方法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

import  re

import  requests

class tonken():

    def  __init__(self):

        pass

    def uid(self):

       url="http://manage.duoceshi.com/auth/code"

       h={"Content-Type":"application/json"}

       r=requests.get(url=url,headers=h)

       # print(r.text)  #返回参数

       wb=r.text

       s=re.findall('"uuid":"(.+?)"',wb)

       print(s)

       m=" ".join(s)

       print(m) #code-keyd6f4494345ba49679d80592465f13305

       return m

    def login(self):

       c=self.uid()

       url1="http://manage.duoceshi.com/auth/login"

       h1 = {"Content-Type""application/json"}

       data1={"username":"admin",

           "password":"AL2HPFkHICFLSF7Nh0HBWqKf2XbZh9aBqM01ygQmQl61eLZVjxjXVp3/KtTwUzGiTHIhBXmdEExVzD4RoIYdhA==",

           "code":"8888",

           "uuid":self.uid()#引用上一个接口

           }

       r1=requests.post(url=url1,json=data1,headers=h1)  #备注data数据要json格式,才能查看到返回数据

       print(r1.text)

       wb1=r1.text

       = re.findall('"token":"(.+?)"', wb1)

       print(s)

       n=''.join(s)

       print(n)

    def   build(self):

       url2="http://manage.duoceshi.com/api/menus/build"

       h2={"Authorization":self.login()}

       r2=requests.get(url=url2,headers=h2)

       print(r2.json())

if __name__ == '__main__':

    dx=tonken()

    # dx.uid()

    # dx.login()

    dx.build()

==========================================================
jmeter中tonken
第一个接口:GET http://manage.duoceshi.com/auth/code
第二个接口:POST http://manage.duoceshi.com/auth/login

{"username":"admin","password":"ogqJt/paTDJCulj4u06yrGhkwH7XwiNe0Ce6ToKxUaPRjASkd+RHIp8knCihuLpsL5I+5p7NCp7mClZ04U9vog==","code":"8888","uuid":"code-key1867ef6878954530a3b5ce2a3b8ead00"}

第三个接口:GET http://manage.duoceshi.com/api/menus/build第一种方法步骤:
第一个接口:GET http://manage.duoceshi.com/auth/code

 提取:

第二个接口:POST http://manage.duoceshi.com/auth/login
用户参数:
{"username":"admin","password":"ogqJt/paTDJCulj4u06yrGhkwH7XwiNe0Ce6ToKxUaPRjASkd+RHIp8knCihuLpsL5I+5p7NCp7mClZ04U9vog==","code":"8888","uuid":"code-key1867ef6878954530a3b5ce2a3b8ead00"}

token值提取:

 第三个接口:

GET http://manage.duoceshi.com/api/menus/build

 第二种方法:

通过JSON Extractor  方法

第一个接口:GET http://manage.duoceshi.com/auth/code

 在设置uiid变量

 第二个接口:

POST http://manage.duoceshi.com/auth/login

POST data:
{"username":"admin","password":"ogqJt/paTDJCulj4u06yrGhkwH7XwiNe0Ce6ToKxUaPRjASkd+RHIp8knCihuLpsL5I+5p7NCp7mClZ04U9vog==","code":"8888","uuid":"code-keyc156c7a4911e464790e2998ce068240f"}

 设置提取方法

 请求头中设置了变量

第三个接口:

GET http://manage.duoceshi.com/api/menus/build


http://www.ppmy.cn/embedded/154173.html

相关文章

如何让 LLM 使用外部函数 or 工具?Llama-3-Groq-8B-Tool-Use 模型使用详解

2024年7月份,Groq 团队在huggingface上发布了基于Meta llama3两个大小(8b和70b)的开源模型进行微调(官网介绍)的模型(Groq/Llama-3-Groq-8B-Tool-Use 和 Groq/Llama-3-Groq-70B-Tool-Use)&#…

BO-SVM贝叶斯算法优化支持向量机的数据多变量时间序列预测

BO-SVM贝叶斯算法优化支持向量机的数据多变量时间序列预测 目录 BO-SVM贝叶斯算法优化支持向量机的数据多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于BO-SVR贝叶斯算法优化支持向量机的数据多变量时间序列预测,加入5折交叉验…

[读书日志]8051软核处理器设计实战(基于FPGA)第七篇:8051软核处理器的测试(verilog+C)

6. 8051软核处理器的验证和使用 为了充分测试8051的性能,我们需要测试每一条指令。在HELLO文件夹中存放了整个测试的C语言工程文件。主函数存放在指令被分为五大类,和上面一样。 打开后是这样的文件结构。HELLO.c是主文件,这是里面的代码&am…

【系统安全】CVE-2024-49113 Windows轻量级目录访问协议(LDAP)拒绝服务漏洞

文章目录 免责声明一、漏洞描述二、漏洞成因三、漏洞危害四、影响版本五、攻击流程六、修复方案 免责声明 在网络安全领域,技术文章应谨慎使用,遵守法律法规,严禁非法网络活动。未经授权,不得利用文中信息进行入侵,造…

使用Python和Neo4j驱动程序来实现小规模数据的CSV导入

要将CSV数据导入到Neo4j数据库中,你可以使用Neo4j提供的工具,比如neo4j-admin import命令(适用于大规模数据导入),或者使用Python的Neo4j驱动程序通过Cypher查询逐行插入数据(适用于小规模数据导入&#xf…

Bevy 移动端开发指南

Bevy 移动端开发指南 Bevy 确实支持 iOS 和 Android 平台开发,但需要特定的配置和工具链。本指南将详细介绍如何在移动平台上开发 Bevy 游戏。 支持状态 ✅ iOS: 完全支持✅ Android: 完全支持⚠️ 注意:需要额外配置和工具链 环境准备 Android 开发…

OpenGL学习笔记(四):Shader 着色器(GLSL、Shader类封装)

文章目录 GLSL数据类型输入与输出Uniform的使用Shader类封装练习0练习1练习2练习3 前面的文章提到,着色器(Shader)是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分运行。从本质上来说,着色器只是一种把输入转化为输出的程序。着色器也是…

2025封禁指定国家ip-安装xtables-addons记录

如何安装和使用 安装lux仓库(该仓库包含xtables-addons所需的依赖环境) # wget http://repo.iotti.biz/CentOS/7/noarch/lux-release-7-1.noarch.rpm # rpm -ivh lux-release-7-1.noarch.rpm 安装xtables-addons。注意:必须先安装kmod-xtables-addons,再…