from fastapi import FastAPI, Request, Form from fastapi.responses import HTMLResponse import subprocess app = FastAPI() @app.get("/", response_class=HTMLResponse) async def read_root(request: Request): html_content = """ FastAPI Form
""" return html_content @app.post("/submit/") async def submit(title: str = Form(...), context: str = Form(...)): if not context: return {"error": "Context is required"} result = _send(title, context) return {"message": result} def _send(title, context): command = [ 'curl', '-k', 'https://gotify.erhe.top/message?token=A0Xg6ZE5946iBYg', '-F', f'title={title}', '-F', f'message={context}', '-F', 'priority=5' ] # 执行命令 try: result = subprocess.run(command, check=True, text=True, capture_output=True) print('命令执行成功,输出:') print(result.stdout) except subprocess.CalledProcessError as e: print('命令执行失败:') print(e.stderr) return result.stdout if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8082)