You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flask的404错误处理中获取用户请求的URL

获取404错误时用户访问的URL

嘿,这个需求实现起来超简单!Flask的request对象已经帮我们封装了请求的所有信息,包括用户尝试访问的URL,直接用就行。

首先,确保你已经从Flask里导入了request:

from flask import request

然后修改你的404错误处理函数,把请求URL加入日志:

@app.errorhandler(404)
def page_not_found(e):
    # 两种获取URL的方式,按需选择:
    # 1. 只获取路径部分(不含查询参数)
    # requested_url = request.path
    # 2. 获取完整路径(包含查询参数,比如 /missing?foo=bar)
    requested_url = request.full_path
    
    logger.warning('User raised a 404: {error}, requested URL: {url}'.format(error=str(e), url=requested_url))
    return render_template('404.html'), 404

简单解释下:

  • request.path 返回的是域名之后的路径部分,比如用户访问https://your-site.com/nonexistent,它会返回/nonexistent
  • request.full_path 会包含路径和查询参数,比如用户访问https://your-site.com/nonexistent?param=test,它会返回/nonexistent?param=test

这样你就能在日志里清晰看到用户触发404时的具体访问地址啦!

内容的提问来源于stack exchange,提问作者jjacobi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:50:40