接口测试平台代码实现153:加密算法继续实现

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 接口测试平台代码实现153:加密算法继续实现

本节我们要真正的实现这个加密函数:


为了便于调试,我们先给普通接口调试函数 加入对它的调用:

(注意调用位置一定要放到 替换全局变量的后面!最好是在真正发送请求代码部分之前紧贴!)

image.png

如上图,这个函数最终会返回带了加密验签字段的url和body


然后,我们要耐心的做一个接口 用来调试用!

首先来看我们写的调试用的加密表达式:


image.png注意,其中的time,我们会先检测是在url和body中存在这个字段,如果不存在,我们则用10位时间戳来表示,这个规则我们应该在一开始告知使用者,所以可以在说明文案中加入这一句:

image.png

image.png然后是具体的接口:

image.png

注意,这个验签加密表达式一共需要三个变量,

token我放在了url里,userId我放在了body中,


然后开始正式写这个函数:

我们找到这个函数:views.py中

image.png

确认下要做的事:

  1. 用project_id 拿出 加密插入位置 和 加密表达式
  2. 根据加密表达式从url和body中拿出 需要用到的参数
  3. 组装成完整加密表达式并执行,生成加密字段key/value
  4. 根据加密插入位置 放到url或body中
  5. 返回加入后的url和body


第一步代码:

image.png

第二步代码:

我们先提取一下 表达式的key 和 字段,看看是否成功:

image.png

结果如下,不用管报错先,因为还没写完

image.png

可以看到 提取的很顺利


然后我们要从给的url和body中依次拿出这些变量,注意,如果提取失败就要先检测下,是不是time的,若是则启动预置时间函数。

注意,这里我们之后可能会新增一些其他预置变量,所以大家注意下这里,以后可以根据需要扩充,不止有time一个预置变量哦~

我们现在来思考一个问题,如何从url 中提取我们要的参数?


思路1: 给url用split解析,找出所有的key=value,然后直接取出来。

思路2:直接用正则,左边界是变量= ,右边界是&或结尾。


显然,从效率上来说,思路2明显要快n倍。因为这个函数是一个很底层的函数,我们必须保证它的执行速度,所以我们先尝试用思路2 解决!

image.png

注意这个正则写法,不要写错了哦~ 正则还不会用的小伙伴建议报名我的课程哦~


看看结果:

image.png

可以看到,成功取出来了这个数据。


好,本节课就到这里了。下节课继续吧.







相关文章
|
10天前
|
算法 Java 测试技术
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
40 13
|
20天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
72 11
|
1月前
|
存储 算法 程序员
C 语言递归算法:以简洁代码驾驭复杂逻辑
C语言递归算法简介:通过简洁的代码实现复杂的逻辑处理,递归函数自我调用解决分层问题,高效而优雅。适用于树形结构遍历、数学计算等领域。
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
67 1
|
2月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
2月前
|
存储 缓存 算法
通过优化算法和代码结构来提升易语言程序的执行效率
通过优化算法和代码结构来提升易语言程序的执行效率
|
2月前
|
算法
分享一些提高二叉树遍历算法效率的代码示例
这只是简单的示例代码,实际应用中可能还需要根据具体需求进行更多的优化和处理。你可以根据自己的需求对代码进行修改和扩展。
|
2月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
71 3
|
2月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
151 1
|
2月前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。

热门文章

最新文章