在Glitch.com上的Flask应用中获取请求的IP地址

问题描述

我有一个Glitch上运行的Flask应用。我想找到一种方法获取从我的网站请求数据的客户端的IP地址。有没有办法做到这一点?在您将此问题标记为重复问题之前,我尝试过request.environ['REMOTE_ADDR']request.environ.get('HTTP_X_REAL_IP',request.remote_addr)request.remote_addr等。所有这些都显示127.0.0.1,这是服务器的IP地址。我正在寻找有关Glitch的特定方法。任何帮助,将不胜感激。预先感谢!

代码

# Imports

app = Flask(__name__)

@app.route("/")
def index():
    # Stuff

if __name__ == "__main__":
  app.run()

解决方法

我不知道为什么remote_addr无效,您是否以这种方式使用它:

# Imports
from flask import request
from flask import jsonify

app = Flask(__name__)

@app.route("/")
def index():
     ipdr = {'ipdr': request.remote_addr}
     return jsonify(ipdr),200

if __name__ == "__main__":
app.run()