fastAPI/huaweitest.py

103 lines
2.8 KiB
Python

from fastapi import FastAPI, Query, Request
from datetime import datetime
app = FastAPI()
@app.get("/")
async def root(request: Request):
# 获取当前时间
now = datetime.now()
# 格式化时间为 年-月-日 时:分:秒 的格式
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
print(f"请求IP地址: {request.client.host},请求时间{formatted_now},请求路径: /")
return "welcome to fastAPI!"
@app.get("/script/getscriparam")
async def getscriparam(request: Request):
# 获取当前时间
now = datetime.now()
# 格式化时间为 年-月-日 时:分:秒 的格式
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
print(f"请求IP地址: {request.client.host},请求时间{formatted_now},请求路径: /")
data = {
"interaction": {
"from": 20,
"to": 30
},
"bounceRate": {
"from": 0.3,
"to": 0.4
},
"ctr": {
"from": 0.03,
"to": 0.05
},
"pagesToViewPerSession": {
"from": 2,
"to": 3
},
"sessionsPerUser": {
"from": 2,
"to": 3
}
}
return data
@app.get("/script/success")
async def do_success(request: Request):
# 获取当前时间
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# 获取请求者的IP地址
client_host = request.client.host
# 打印上报成功的时间和IP地址
print(f"请求IP地址: {client_host},上报成功时间: {current_time}")
data = {}
return {
"code": 0,
"msg": "ok",
"data": data
}
@app.get("/script/failed")
async def do_failed(request: Request, reason: str = None, errortype: str = None):
# 获取当前时间
now = datetime.now()
# 格式化时间为 年-月-日 时:分:秒 的格式
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
print(f"请求IP地址: {request.client.host},请求时间{formatted_now},请求路径: /script/failed")
# 假设这里记录失败原因到日志或数据库
print(f"上报失败,Time: {formatted_now}, 失败原因: {reason},失败类型: {errortype}.") # 实际应用中应使用更专业的日志记录方式
return {
"code": 0,
"msg": "ok",
"data": {}
}
@app.get("/report/chrome/crash")
async def report_chrome_crash(id: str, timestamp: str = Query(None)):
# 获取当前时间
now = datetime.now()
# 格式化时间为 年-月-日 时:分:秒 的格式
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
# 假设这里记录失败原因到日志或数据库
print(f"Time: {formatted_now}, ID: {id}, 时间戳: {timestamp}") # 实际应用中应使用更专业的日志记录方式
return {
"code": 0,
"msg": "ok",
"data": {}
}