---------------------------------封装关键字-------------------------------
说明:
某项目系统接口请求返回是AES加密的,先通过接口返回,再进行解密操作如下:
#获取url接口返回结果(加密的)
| get_linfo.py |
import requests |
# 解密文件
| AES_response_jiemi.py |
|
from Crypto.Cipher import AES def aes_ECB_Decrypt(data, key): # ECB模式的解密函数,data为要传入密文,key为16字节密钥 |
--------robotframework 编码-------------
1、先导入封装的关键字;

2、进行编码,如下图:

运行结果(run)如下:

-----扩展:
通过aes_ECB_Decrypt 函数转码时,利用json.loads()输出内容报错,解析器读取了预期之外的额外数据,可能导致的原因如下:
1、文件格式不正确:JSON文件可能不是有效的JSON格式,或者文件中包含了无法解析的字符或结构。
2、文件包含非JSON内容:如果JSON文件中除了有效的JSON数据之外,还包含了其他文本(例如注释或额外的字符),这可能导致解码错误。
3、错误的读取方式:如果JSON文件是一个数组,但被当作对象来解析,或者反之,这可能导致解码错误。

解决方法如下:
查资料后需用到rstrip进行末尾删除,然后再输出新内容(如有更好的方法,可以告诉我);
response_info=str(result,'utf-8') # 以字符串的形式返回
#rstrip()方法用于删除字符串末尾的指定字符(默认为空格),通过返回数据来看有
new_string = response_info.rstrip(response_info[-1])
#输出jsong格式内容
return(json.loads(new_string))

--end--
浙公网安备 33010602011771号