python - 在 Flask 中使用开发服务器时获取客户端 IP 地址
问题描述
我在做什么
我有一个烧瓶网站,我正在使用 ngrok 隧道让客户可以访问它。
我想要的是
我正在尝试获取客户端的 IP 地址。
到目前为止我做了什么
到目前为止,我已经尝试过这些,
request.environ.get('HTTP_X_REAL_IP', request.remote_addr)
和
request.environ['REMOTE_ADDR']
但他们都返回 127.0.0.1。我也检查了这个问题 但它并没有帮助我,因为那里写的答案是为了在生产服务器环境中获取客户端 IP 而我正在寻找任何可以在开发模式下获取客户端 IP 地址的方法使用 ngrok 建立隧道的服务器。
我脑子里有两种可能的方法,
- 如果我可以从 Ngrok 获取连接请求者的 IP 地址。我不知道有什么办法,但这可以解决我的问题。
- 或者我在我的 javascript 代码中添加一些内容,以便每当索引页面加载时,它都会向服务器发送一个 ajax 请求,告诉它客户端的 IP 地址。(如有错误请指正)
解决方案
在 Flask 的情况下,您无法直接在服务器端获取客户端 IP 地址,但如果您的 Web 应用程序获取客户端 IP,然后使用 AJAX 请求将其发送回服务器以便您可以记录,则无法获取 IP 地址。这是我认为你可以在烧瓶中做到这一点的唯一可能方式。
推荐阅读
- c# - Linq 查询表达式中的空值检查
- git - Git push to multiple repos 打印“致命:任务已取消”,大约需要 10 分钟才能完成
- java - 无法使用java通过rest api从mysql中检索图像
- r - 使用 variogram() 时中止会话致命错误
- sql-server - 如何替换 SQL Server 中的链接服务器调用?
- html - CSS 侧边菜单 - 由无线电输入控制的隐藏子菜单 - 似乎无法正确处理
- cypress - 获取“无法设置只有getter的属性名称”
- reactjs - 在数组的对象中更新和添加特定值?
- go - Go Context Value 和 OpenTracing Baggage Items 有什么区别?
- python - 如何在 Python 中求解带有约束的非线性三元方程?