当前位置: 首页 > news >正文

怎么识别网站是用什么语言做的新闻头条最新消息30字

怎么识别网站是用什么语言做的,新闻头条最新消息30字,网站建设图片大小,泉州关键词排名seo1. 中间件 1.1 介绍(ChatGPT抄的,大致可以理解) 一种机制,用于在处理请求和响应之前对其进行拦截、处理或修改。中间件可以在应用程序的请求处理管道中插入自定义逻辑,以实现一些通用的功能,如身份验证、…

1. 中间件

1.1 介绍(ChatGPT抄的,大致可以理解)

一种机制,用于在处理请求和响应之前对其进行拦截、处理或修改。中间件可以在应用程序的请求处理管道中插入自定义逻辑,以实现一些通用的功能,如身份验证、日志记录、错误处理等。

中间件在请求到达应用程序之前被执行,并在应用程序生成响应之前被执行。它们可以对请求进行修改、记录请求信息、添加额外的响应头,甚至可以拒绝请求或提前返回响应。

在FastAPI中,可以通过编写中间件函数来定义中间件逻辑。这些函数接收一个Request对象和一个Callable对象(代表下一个中间件或请求处理器)作为参数,并返回一个Response对象。

注释:
我理解就是在中间件里写一个函数,所有路由函数在执行前都会执行此函数

1.2 示例

import uvicorn
from fastapi import FastAPI, Requestapp = FastAPI()# 中间件
@app.middleware("http")
async def m2(request:Request, call_next):# 请求代码块print("m2 request")response = await call_next(request)# 响应代码块print("m2 response")return response@app.middleware("http")
async def m1(request: Request, call_next):# 请求代码块print("m1 request")response = await call_next(request)# 响应代码块print("m1 response")return response@app.get("/user")
async def get_user():print("get_user函数执行")return {"user":"current user"}@app.get("/item/{item_id}")
async def get_item(item_id:int):print("get_item函数执行")return {"item_id":item_id}if __name__ == "__main__":uvicorn.run("main:app", port=5050, reload=True)

注释:
执行顺序为:request先下后上,response先上后下,先执行request,再执行response

在这里插入图片描述

1.3 示例

import timeimport uvicorn
from fastapi import FastAPI, Requestfrom fastapi.responses import Responseapp = FastAPI()# 中间件
@app.middleware("http")
async def m2(request:Request, call_next):# 请求代码块print("m2 request")response = await call_next(request)# 响应代码块print("m2 response")return response@app.middleware("http")
async def m1(request: Request, call_next):# 请求代码块print("m1 request")# 示例:访问url限制if request.client.host in ["127.0.0.1",]:return Response(status_code=403, content="visit forbidden")# 示例:访问路径限制if request.url.path in ["/user"]:return Response(status_code=403, content="visit forbidden")response = await call_next(request)# 响应代码块print("m1 response")return response@app.get("/user")
async def get_user():print("get_user函数执行")return {"user":"current user"}@app.get("/item/{item_id}")
async def get_item(item_id:int):print("get_item函数执行")return {"item_id":item_id}if __name__ == "__main__":uvicorn.run("main:app", host="127.0.0.1", port=5050, reload=True)

在这里插入图片描述

1.4 response响应示例

import timeimport uvicorn
from fastapi import FastAPI, Requestfrom fastapi.responses import Responseapp = FastAPI()# 中间件
@app.middleware("http")
async def m2(request:Request, call_next):# 请求代码块print("m2 request")response = await call_next(request)# 响应代码块print("m2 response")return response@app.middleware("http")
async def m1(request: Request, call_next):# 请求代码块print("m1 request")# 示例:访问url限制# if request.client.host in ["127.0.0.1",]:#     return Response(status_code=403, content="visit forbidden")# # 示例:访问路径限制# if request.url.path in ["/user"]:#     return Response(status_code=403, content="visit forbidden")start = time.time()response = await call_next(request)# 响应代码块print("m1 response")end = time.time()response.headers["ProcessTimer"] = str(end - start)return response@app.get("/user")
async def get_user():time.sleep(3)print("get_user函数执行")return {"user":"current user"}@app.get("/item/{item_id}")
async def get_item(item_id:int):time.sleep(2)print("get_item函数执行")return {"item_id":item_id}if __name__ == "__main__":uvicorn.run("main:app", host="127.0.0.1", port=5050, reload=True)

在这里插入图片描述

2. CORS跨域请求

import uvicorn
from fastapi import FastAPI, Request
from fastapi.middleware.cors import CORSMiddlewareapp = FastAPI()app.add_middleware(CORSMiddleware,allow_methods=['GET', 'POST'],allow_headers=['*']
)# @app.middleware("http")
# async def HelloMiddleware(request:Request, call_next):
#     response = await call_next(request)
#     response.headers["Access-Control-Allow-Origin"] = "*"
#     return response@app.get("/hello")
async def get_hello():return {"message": "hello xujie"}if __name__ == "__main__":uvicorn.run("main:app", port=5050, reload=True)

注释:
fastapi框架(测试开发用)差不多就这些了,请求、响应、assert、数据库、中间件、跨域、template、基本上合作开发一套简单自用测试平台已经够用(至少我是这样的),填坑完成,撒花

http://www.hengruixuexiao.com/news/41119.html

相关文章:

  • 外贸做包装袋哪个网站好网络公司seo教程
  • 运用.net做网站旺道营销软件
  • 商城网站seo百度网盘搜索免费资源
  • 开网站做赌博赚钱吗网站营销网站营销推广
  • 宁波人才网济南seo快速霸屏
  • 做网站的股哥长沙百度推广优化排名
  • 做色情网站盈利会怎么样百度学术论文查重官网
  • 网站开发制作学徒app开发工具哪个好
  • 固镇建设局网站商丘seo博客
  • 招商网站建设长沙网站seo哪家公司好
  • 北京顺义去哪找做网站的企业产品营销策划推广
  • 游戏发号网站源码百度竞价推广怎么做效果好
  • 做邮轮上哪个网站订票好免费单页网站在线制作
  • wordpress 主题 mnews优化营商环境评价
  • 网络推广培训网网站查询seo
  • 淘宝网站建设策划书百度搜索指数排行
  • b2b网站策划书哈尔滨最新
  • B2B外贸网站模板google chrome 网络浏览器
  • 网络营销的方法和手段seo快速排名优化
  • 政府网站模板php今天头条新闻100条
  • HTTPS网站做CDN站长工具麻豆
  • 网站开发的五个阶段企业网站有哪些
  • 做网站定金是多少网络推广培训班哪家好
  • 体育网站建设需求手机优化大师怎么退款
  • 学做网站要学什么东西seo网站优化培训找哪些
  • oa办公系统是什么意思武汉排名seo公司
  • vs2013可以做网站么ciliba最佳磁力搜索引擎
  • 企业专业网站设计公成人馆店精准引流怎么推广
  • 大众服务器网站搜索引擎优化seo多少钱
  • wordpress任务宁波seo网络推广咨询价格