如何在FastHTML的/delete_cookie1端点删除指定Cookie?
在FastHTML中删除Cookie,需要通过响应对象设置过期的Cookie条目,而非直接操作request对象。以下是可行的解决方案:
方案一:使用FastHTML封装的Response
import fasthtml as fh @app.get("/delete_cookie1") def delete_cookie1(request): # 创建响应对象,可自定义返回内容 response = fh.Response("Cookie1 已删除") # 设置Cookie过期以实现删除 response.set_cookie( key="cookie1", value="", max_age=0, # 设置max_age为0,让浏览器立即删除Cookie path="/" # 需与设置该Cookie时的path一致,默认是根路径"/" ) return response
方案二:直接使用Starlette的Response(FastHTML底层依赖)
import fasthtml as fh from starlette.responses import Response @app.get("/delete_cookie1") def delete_cookie1(request): response = Response(content="Cookie1 已删除") response.set_cookie( key="cookie1", value="", expires=0, # 设置expires为0,等同于立即过期 path="/" ) return response
关键说明
- 删除Cookie的核心逻辑是让浏览器判定该Cookie已过期,通过
max_age=0或expires=0均可实现。 - 必须保证
path参数与当初设置该Cookie时的路径一致,否则浏览器可能无法匹配到目标Cookie,导致删除失败。
内容的提问来源于stack exchange,提问作者Ximo Dante
相关产品推荐
相关产品推荐

