在Flask中使用开发服务器时获取客户端IP地址

时间:2019-07-08 21:28:16

标签: python python-3.x flask ngrok

我在做什么

我有一个Flask网站,我正在使用ngrok隧道使客户端可以访问它。

我想要的

我正在尝试获取客户端的IP地址。

我到目前为止所做的事情

到目前为止,我已经尝试过这些,

request.environ.get('HTTP_X_REAL_IP', request.remote_addr)

request.environ['REMOTE_ADDR']

但是他们两个都返回127.0.0.1。我也检查了这个question,但是它对我没有帮助,因为这里写的答案是在生产服务器环境中获取客户端IP的,而我正在寻找可以用来获取客户端IP地址的任何方法。 ngrok隧道化的服务器开发模式。

我脑中有两种可能的方法,

  • 如果我可以从Ngrok获取连接请求者的IP地址。我不知道有什么办法可以解决这个问题。
  • 或者我将一些内容添加到我的javascript代码中,以便每当索引页面加载完毕时,它都会向服务器发送一个ajax请求,告知其客户端的IP地址。 (如果有错,请纠正我)

1 个答案:

答案 0 :(得分:1)

在Flask的情况下,您无法直接在服务器端获取客户端ip地址,但是如果您的Web应用程序获取了客户端ip,然后使用AJAX请求将其发送回服务器,则您将无法获取IP地址,这样您就可以记录下来。 这是我认为您可以在烧瓶中完成的唯一方法。