readClient2.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # 一致监听本地剪切板,如果有变化,则打印出来
  2. import threading
  3. import time
  4. import pyperclip
  5. import redis
  6. import requests
  7. import uvicorn as uvicorn
  8. from fastapi import FastAPI
  9. from starlette.middleware.cors import CORSMiddleware
  10. from starlette.middleware.sessions import SessionMiddleware
  11. from starlette.responses import JSONResponse
  12. r = redis.StrictRedis(host='127.0.0.1', port=6379, db=0)
  13. def getRemoteValue():
  14. res = requests.get('http://192.168.3.17:8000/clipboard')
  15. if res.status_code == 200:
  16. return res.json()['clipboard']
  17. else:
  18. return None
  19. app = FastAPI(title="project name2", description="系统描述 ", version="v 0.0.0")
  20. app.add_middleware(SessionMiddleware, secret_key='123456hhh1')
  21. app.add_middleware(
  22. CORSMiddleware,
  23. allow_origins=["*", ],
  24. allow_credentials=True,
  25. allow_methods=["*"],
  26. allow_headers=["*"],
  27. )
  28. # api 获取剪切板
  29. @app.get('/clipboard')
  30. def get_clipboard():
  31. return {'clipboard': getRemoteValue()}
  32. @app.exception_handler(Exception)
  33. def validation_exception_handler(request, exc):
  34. """请求校验异常捕获; application/json """
  35. return JSONResponse({'message': "服务器内部错误", 'status_code': 500})
  36. if __name__ == '__main__':
  37. uvicorn.run(app='readClient2:app', host="0.0.0.0", port=8001)