目录
一、项目结构:
apiRequest.py
import base64
import json
import requests
class ApiRequest:
def send(self, data: dict):
res = requests.request(data["method"], data["url"], headers=data["headers"])
if data["endcoding"] == "base64":
return json.loads(base64.b64decode(res.content))
# 把加密过的响应值发给第三方服务去做解密,然后返回解密过后的信息
elif data["endcoding"] == "private":
return requests.post("url", data=res.content)
test_apiRequest.py
from api_test_framework.base64 import apiRequest
from api_test_framework.base64.apiRequest import ApiRequest
class TestBase:
req_data = {
"method": "get",
"url": "http://localhost/Downloads/testfile/demo.txt",
"headers": None,
"endcoding": "base64"
}
def test_send(self):
ar = apiRequest.ApiRequest().send(self.req_data)
print(ar)
运行结果:
test_base64.py
import base64
import json
import requests
def test_encode():
url = "http://localhost/Downloads/testfile/demo.txt"
r = requests.get(url=url)
"""
下面这两种写法有什么区别??
res = json.loads(base64.b64decode(r.content))
res = base64.b64decode(r.content)
"""
res = json.loads(base64.b64decode(r.content))
print(res)
运行结果:
二、启动python本地服务器(可选项)
已安装python3的前提下,可以在cmd中使用python -m http.server 80命令搭建本地服务器
demo.txt内容:
eyJ0b3BpY3MiOgp7CiJvcmFuZ2UiOiJtb3ZpZSIsCiJzaG9vbCI6InRlc3Rpbmctc3R1ZGlvIiwKInByZXNpZGVudCI6InNldmVuaXJ1YnkiCn0KfQo=