我如何在 Flask 中跟踪请求 [重复]

Posted

技术标签:

【中文标题】我如何在 Flask 中跟踪请求 [重复]【英文标题】:How I can tracking request in Flask [duplicate] 【发布时间】:2018-09-23 07:18:00 【问题描述】:

我通过 Flask 创建了一个简单的 rest api。

@app.route('/login', methods=['POST'])
...

@app.errorhandler(404)
    def not_found(e):
        return render_template('404.html')

如果客户端访问 Flask 中的错误位置(未找到 404),我如何跟踪请求方法、url 和 IP 地址。谢谢

【问题讨论】:

提供您的代码。解释你的问题是什么,以及你为解决它做了什么。 【参考方案1】:

request_method = request.method获取请求方法,request_ip_addr = request.remote_addr获取请求ip地址,request_url = request.url获取请求url; 我认为你可以这样编码: @app.route('/login', methods=['POST']) ... @app.errorhandler(404) def not_found(e): request_method = request.method request_ip_addr = request.remote_addr request_url = request.url # then you can storage this parameters to database for tracking the error request method, url, and IP address. return render_template('404.html')

【讨论】:

谢谢,但 IP 地址不显示客户端 IP。它始终是“127.0.0.1”。 我想如果你访问这个页面,如果不是来自本地主机,而是来自外部网络访问,remote_addr 会改变。我认为您可以尝试在不同的计算机上测试烧瓶服务器和浏览器。 我用 gunicorn 在服务器上运行它,它仍然是 127.0.0.1。

以上是关于我如何在 Flask 中跟踪请求 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flask 中捕获和读取传入 HTTP 请求的标头? [复制]

如何在Python Flask框架中运行重复任务

如何在 Flask 中摄取实时数据并对其进行预测 [重复]

如何使用 Python 和 Flask 获取请求变量的值 [重复]

如何使用请求库将Payload从另一个Python App发送到Flask应用程序[重复]

AJAX 向 Python Flask 发布请求 [重复]