将控制台和网络监听功能从 `main.py` 中分离到 `listener` 模块,以提高代码的可维护性和可读性。同时,新增 `utils` 模块用于格式化 JSON 数据,并更新 `requirements.txt` 以包含必要的依赖。
36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
import utils
|
|
|
|
def network_listener(tab):
|
|
try:
|
|
# 监听网络
|
|
print("[network.log] 开始监听网络")
|
|
tab.listen.start(targets=["/api/"])
|
|
for log in tab.listen.steps():
|
|
print("=" * 50)
|
|
print(f"[network.log] {log.method} {log.url} {'request'} {''}")
|
|
print("=" * 50 + '\t' + "request")
|
|
print("=" * 50 + '\t' + "request.headers")
|
|
for key in log.request.headers.keys():
|
|
print(key, log.request.headers[key])
|
|
|
|
if 'Content-Type' in log.request.headers:
|
|
reqType = log.request.headers['Content-Type']
|
|
if reqType == 'application/json':
|
|
print("=" * 50 + '\t' + "request.body")
|
|
print(utils.format_json(log.request.body))
|
|
|
|
print(vars(log.request))
|
|
|
|
if 'Content-Type' in log.response.headers:
|
|
respType = log.response.headers['Content-Type']
|
|
if respType == 'application/json':
|
|
print("=" * 50 + '\t' + "response.body")
|
|
print(utils.format_json(log.response.body))
|
|
|
|
print(vars(log.response))
|
|
except Exception as e:
|
|
print("[network.log] 监听网络出错")
|
|
print(e)
|
|
finally:
|
|
print("[network.log] 停止监听网络")
|
|
tab.listen.stop() |