FastAPI中对应Flask的request.environ.get('HTTP_REFERER', "")的实现方法是什么
FastAPI 获取 HTTP_REFERER 的实现方案
FastAPI 基于 Starlette 框架,提供了两种常用的获取 Referer 头的方式,可根据使用习惯选择:
方法一:直接从请求头读取(推荐写法,最简洁)
FastAPI 的请求头对象统一使用小写键名,直接调用request.headers.get("referer", "")即可读取,代码示例:from fastapi import FastAPI, Request app = FastAPI() @app.get("/demo") def get_referer(request: Request): referer = request.headers.get("referer", "") return {"当前请求的Referer": referer}方法二:兼容 Flask 的 environ 写法
如果你习惯了 Flask 的调用逻辑,也可以直接沿用request.environ.get的写法,几乎不用改代码:from fastapi import FastAPI, Request app = FastAPI() @app.get("/demo") def get_referer(request: Request): referer = request.environ.get("HTTP_REFERER", "") return {"当前请求的Referer": referer}
补充说明:如果客户端请求没有携带 Referer 头,两种写法都会返回你设置的默认空字符串,不会触发异常。
内容的提问来源于stack exchange,提问作者DuckQueen
相关产品推荐
相关产品推荐

