我如何在 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 获取请求变量的值 [重复]