加密原理:在得到响应后对响应做解密处理
场景:
1、知道加密方式,可使用通用加密算法(base64)
2、不了解,让研发提供加解密的lib
3、1-2都不是,让加密方提供远程解析服务,这样算法仍是保密的
常用的1场景
环境准备:
1、对响应加密的接口(如果有可用的加密过的接口以及了解它的解密方法,跳过)
2、准备一个加密文件 vim demo1.txt
3、使用python命令在有加密文件的所在目录启动一个服务
python -m http.server 9999
4、访问该网站
127.0.0.1:9999
奉上代码
第一步:封装接口
import request
import json
import base64
#from base64 import b64decode
class ApiRequest:
def send(self,data:dict):
#data存放请求的信息
res = requests.request(data["method"],data["url"],headers = data["headers"])
#第一种:调用python自带base64,对返回数据进行解密
if data["encoding"] == "base64":
return json.loads(base64.b64decode(res.content))
#第三种:把加密过后的响应值发给第三方服务,让第三方去做解密然后返回,按实际情况填写
elif data["encoding"] == "private":
return requests.post("url",data = res.content)
第二步:封装执行接口文件
from unittest import TestCase
from test_requests import test_requests1
class TestApiRequest(TestCase):
req_data = {
"method":"get",
"url":"http://127.0.0.1:9999/demo1.txt"
"headers":None,
"encoding":"base64"
}
def test_send(self):
ar = test_requests1.ApiRequest
ar.send(self.req_data)
网友评论