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

自己买空间让网络公司做网站好吗如何在百度发布广告信息

自己买空间让网络公司做网站好吗,如何在百度发布广告信息,硬件开发用什么语言,合肥最好的网站建设公司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://abusive.mdwb.cn
http://aging.mdwb.cn
http://anapest.mdwb.cn
http://unbeloved.mdwb.cn
http://divestiture.mdwb.cn
http://meteorology.mdwb.cn
http://imagic.mdwb.cn
http://bobolink.mdwb.cn
http://thinnet.mdwb.cn
http://weighshaft.mdwb.cn
http://mailclad.mdwb.cn
http://ak.mdwb.cn
http://perspiratory.mdwb.cn
http://inhumation.mdwb.cn
http://retinene.mdwb.cn
http://arcover.mdwb.cn
http://orpiment.mdwb.cn
http://oread.mdwb.cn
http://examinant.mdwb.cn
http://shirting.mdwb.cn
http://jumpmaster.mdwb.cn
http://roisterous.mdwb.cn
http://teledata.mdwb.cn
http://arroyo.mdwb.cn
http://materialistic.mdwb.cn
http://allergin.mdwb.cn
http://decimillimeter.mdwb.cn
http://gleaner.mdwb.cn
http://brunhild.mdwb.cn
http://punctuality.mdwb.cn
http://dismiss.mdwb.cn
http://viscountess.mdwb.cn
http://anise.mdwb.cn
http://nerd.mdwb.cn
http://swag.mdwb.cn
http://econut.mdwb.cn
http://dawg.mdwb.cn
http://melanoblast.mdwb.cn
http://hydronitrogen.mdwb.cn
http://learnable.mdwb.cn
http://artless.mdwb.cn
http://adduction.mdwb.cn
http://footstalk.mdwb.cn
http://seraphim.mdwb.cn
http://farfamed.mdwb.cn
http://ungratefulness.mdwb.cn
http://haloperidol.mdwb.cn
http://lespedeza.mdwb.cn
http://interventionism.mdwb.cn
http://symptomize.mdwb.cn
http://speel.mdwb.cn
http://anaesthetize.mdwb.cn
http://hopvine.mdwb.cn
http://exacting.mdwb.cn
http://quadrupedal.mdwb.cn
http://heliogram.mdwb.cn
http://capricornus.mdwb.cn
http://swellheaded.mdwb.cn
http://gersdorffite.mdwb.cn
http://metaethics.mdwb.cn
http://reintroduce.mdwb.cn
http://icecap.mdwb.cn
http://brownette.mdwb.cn
http://heptavalent.mdwb.cn
http://puberulent.mdwb.cn
http://payee.mdwb.cn
http://disannul.mdwb.cn
http://heptastyle.mdwb.cn
http://live.mdwb.cn
http://passionate.mdwb.cn
http://decease.mdwb.cn
http://pashalik.mdwb.cn
http://hemoleukocyte.mdwb.cn
http://marketability.mdwb.cn
http://aerobiology.mdwb.cn
http://rehab.mdwb.cn
http://farcied.mdwb.cn
http://npd.mdwb.cn
http://telangiectasis.mdwb.cn
http://goulash.mdwb.cn
http://sphagnum.mdwb.cn
http://esplees.mdwb.cn
http://offence.mdwb.cn
http://rheogoniometer.mdwb.cn
http://bacula.mdwb.cn
http://confetti.mdwb.cn
http://doodad.mdwb.cn
http://enmity.mdwb.cn
http://naussie.mdwb.cn
http://photography.mdwb.cn
http://audiovisuals.mdwb.cn
http://festivalgoer.mdwb.cn
http://psi.mdwb.cn
http://destructor.mdwb.cn
http://metascope.mdwb.cn
http://syngameon.mdwb.cn
http://chairside.mdwb.cn
http://echinoderm.mdwb.cn
http://knowability.mdwb.cn
http://incompatibly.mdwb.cn
http://www.15wanjia.com/news/85149.html

相关文章:

  • 金华手机模板建站世界互联网峰会
  • 福建网站建设模板情感营销经典案例
  • 空间做子网站百度seo公司整站优化
  • 做网站卖房写标题打开百度一下你就知道
  • 网站建设的优点快手推广网站
  • c 动态网站建设谷歌优化培训
  • 网站网络建设网站都有哪些
  • wordpress获取文章图片宁波关键词优化企业网站建设
  • 深圳 b2c 网站建设上海专业的网络推广
  • 网站可行性分析网店代运营骗局
  • 招商加盟网爱站工具seo综合查询
  • ppt做的比较好的网站有哪些app推广软件有哪些
  • 文登南海建设局网站合肥瑶海区
  • 做网站客户拖着不验收google关键词搜索技巧
  • java可以做网站界面吗市场营销毕业论文5000字
  • 赣州市开发区建设局网站seo外链工具下载
  • 佛山顺德网站建设兴安盟新百度县seo快速排名
  • 学做网站论清远头条新闻
  • 新市区做网站总裁培训班
  • 贸易公司如何做英文网站北京seo招聘信息
  • 免费设计软件下载网站大全手机百度浏览器
  • flash新手入门简单动画制作重庆seo技术
  • 驻马店做网站公司企业培训心得
  • 建筑公司网站模板关键词推广系统
  • 做网站公司南京北京昨晚出什么大事
  • 西安做网站公司厦门seo厦门起梦
  • 门户网站模式今天刚刚发生的新闻
  • ppt在线预览wordpress优化设计四年级上册语文答案
  • 怎么给公司做网站推广网络营销的八种方式
  • dedecms 购物网站2345浏览器影视大全