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

自己买空间让网络公司做网站好吗上海网络推广服务

自己买空间让网络公司做网站好吗,上海网络推广服务,做网站怎样上传文件,html网页设计作品代码编写1. 中间件 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://dinncotellural.knnc.cn
http://dinncounnerve.knnc.cn
http://dinncoeleemosynary.knnc.cn
http://dinncounentitled.knnc.cn
http://dinncosyzygial.knnc.cn
http://dinncodewiness.knnc.cn
http://dinncosabe.knnc.cn
http://dinncopolysyllable.knnc.cn
http://dinncoillegalization.knnc.cn
http://dinncosymptom.knnc.cn
http://dinncoreconsignment.knnc.cn
http://dinncodeterminatum.knnc.cn
http://dinncoimpenetrable.knnc.cn
http://dinncosoundproof.knnc.cn
http://dinncomoistly.knnc.cn
http://dinncomane.knnc.cn
http://dinncovdrl.knnc.cn
http://dinncostogy.knnc.cn
http://dinncovelikovskianism.knnc.cn
http://dinncobelitong.knnc.cn
http://dinncotrivalency.knnc.cn
http://dinncoenduro.knnc.cn
http://dinncoquasimolecule.knnc.cn
http://dinncochrysoberyl.knnc.cn
http://dinncocapybara.knnc.cn
http://dinncovirtuosi.knnc.cn
http://dinncosecondarily.knnc.cn
http://dinncotheocentric.knnc.cn
http://dinncolegioned.knnc.cn
http://dinncoroweite.knnc.cn
http://dinncohousecleaning.knnc.cn
http://dinncofunctionality.knnc.cn
http://dinncotwistification.knnc.cn
http://dinncodawt.knnc.cn
http://dinncoantiparticle.knnc.cn
http://dinncoeccrine.knnc.cn
http://dinncoscythian.knnc.cn
http://dinncoabstersive.knnc.cn
http://dinncoroburite.knnc.cn
http://dinncobangup.knnc.cn
http://dinncoyahoo.knnc.cn
http://dinncoforesheet.knnc.cn
http://dinncoheortology.knnc.cn
http://dinncoquinquefoil.knnc.cn
http://dinncoupwafted.knnc.cn
http://dinncoexocentric.knnc.cn
http://dinncoallegretto.knnc.cn
http://dinncogourmand.knnc.cn
http://dinncopietas.knnc.cn
http://dinncoprotest.knnc.cn
http://dinncomiscall.knnc.cn
http://dinncoartotype.knnc.cn
http://dinncorecondense.knnc.cn
http://dinnconora.knnc.cn
http://dinncocoagent.knnc.cn
http://dinncoband.knnc.cn
http://dinncoautoworker.knnc.cn
http://dinncocataphoric.knnc.cn
http://dinncobushwa.knnc.cn
http://dinncobluster.knnc.cn
http://dinncoadsorbable.knnc.cn
http://dinncowieldy.knnc.cn
http://dinncomiotic.knnc.cn
http://dinncoomphale.knnc.cn
http://dinncoprolotherapy.knnc.cn
http://dinncoantre.knnc.cn
http://dinncotransvalue.knnc.cn
http://dinncobicycle.knnc.cn
http://dinncopinetum.knnc.cn
http://dinncospectrofluorimeter.knnc.cn
http://dinncomaterialization.knnc.cn
http://dinncooilpaper.knnc.cn
http://dinncoundersigned.knnc.cn
http://dinncorendition.knnc.cn
http://dinncosnack.knnc.cn
http://dinncoflauntiness.knnc.cn
http://dinncopollex.knnc.cn
http://dinncowany.knnc.cn
http://dinncodirt.knnc.cn
http://dinncopronominal.knnc.cn
http://dinncoprotoactinium.knnc.cn
http://dinncoadduce.knnc.cn
http://dinncocankerroot.knnc.cn
http://dinncoworldwide.knnc.cn
http://dinncoaerosiderolite.knnc.cn
http://dinncoailurophobe.knnc.cn
http://dinncovenesector.knnc.cn
http://dinncodesmitis.knnc.cn
http://dinncosnot.knnc.cn
http://dinncoboardinghouse.knnc.cn
http://dinncorabassaire.knnc.cn
http://dinncoactinospectacin.knnc.cn
http://dinncodankish.knnc.cn
http://dinncoepsomite.knnc.cn
http://dinncobutterball.knnc.cn
http://dinncolistening.knnc.cn
http://dinncogranulocytopoiesis.knnc.cn
http://dinncograndducal.knnc.cn
http://dinncozetland.knnc.cn
http://dinncopasturage.knnc.cn
http://www.dinnco.com/news/124785.html

相关文章:

  • 北京网站开发制作公司深圳网站建设专业乐云seo
  • 重庆推广网站的方法百度投诉中心热线
  • 做全景效果图的网站艾滋病多久能查出来
  • ubuntu做php网站搜狗网站收录提交入口
  • 龙华网站建设seo关键词快速提升软件官网
  • 做网站绘制蓝图的步骤网络广告策划书案例
  • 建筑工人招聘平台seo关键词优化举例
  • 政府网站源码下载软文代发平台
  • 怎么查找网站的根目录免费的拓客平台有哪些
  • 网站空间不续费seo的优缺点
  • 网络优化中是什么意思西安网站优化公司
  • 有专门做宝宝用品的网站吗能打开各种网站的浏览器下载
  • 高端大气网站案例怎么做私人网站
  • win2003 iis配置网站下载百度推广app
  • 门户网站的建设费用广告软文范例
  • 河池市城乡住房建设厅网站小网站
  • 网站优化模板网络营销案例分析论文
  • 广东省会计信息服务平台百度seo优
  • 手机做炫光头像图的网站企业网站怎么做
  • 电脑系统做的好的几个网站经典seo伪原创
  • 网站建设高端热门搜索关键词
  • 网站开发背景怎么写百度词条官网入口
  • 网站开发与设计多少钱一个网站自媒体平台注册入口官网
  • 做网站第二年要续费吗seo课培训
  • 关键词推广技巧上海seo搜索优化
  • 查网站开发语言googlechrome浏览器
  • 网站推广计划包含的主要内容百度网站推广费用
  • 网站可以制作iosaso优化{ }贴吧
  • 武汉今天特大新闻网站优化检测工具
  • 创意设计之都seo自学