gpt4 book ai didi

python-3.x - 在 fastapi 的响应 header 中将服务器名称替换为假服务器名称

转载 作者:行者123 更新时间:2023-12-05 01:09:19 40 4
gpt4 key购买 nike

我使用 uvicorn 作为服务器来使用快速 api 运行应用程序。在 Swagger 中执行端点 url 时,服务器响应的响应头中显示以下消息。

 content-length: 122 
content-type: application/json
date: Sat12 Dec 2020 10:18:55 GMT
server: uvicorn

如何将服务器名称更改为新名称作为服务器:firstproject?以下代码将服务器名称 unciorn 与新名称连接起来

@app.middleware("http")
async def add_custom_header(request, call_next):
response = await call_next(request)
response.headers['server'] = 'firstproject'
return response

这给出了以下输出

content-length: 122 
content-type: application/json
date: Sat12 Dec 2020 10:19:33 GMT
server: uvicornfirstproject

如何将服务器名称更改为服务器:响应 header 中的第一个项目?

编辑

在 start_server.py 中

 import uvicorn

from app.main import app

if __name__ == "__main__":
uvicorn.run("start_server:app --header server:firstproject", host="0.0.0.0", port=8000, reload=True)


出现以下错误

INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: Started reloader process [15256] using statreload
ERROR: Error loading ASGI app. Attribute "app --header server:firstproject" not found in module "start_server".

我从 Visual Studio 运行代码

最佳答案

你可以在运行uvicorn的时候设置一个自定义的header。

--header TEXTSpecify custom default HTTP response headers as a Name:Value pair

当你这样运行它时,它会覆盖默认的服务器名称。

uvicorn my_app:app --header server:firstproject

如果您从 python 文件运行 uvicorn。您需要在列表中将它们作为元组传递。

if __name__ == "__main__":
uvicorn.run("my_app:app", headers=[("server", "firstproject")])

关于python-3.x - 在 fastapi 的响应 header 中将服务器名称替换为假服务器名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65263792/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com