开发者社区> 问答> 正文

python 获取客户端真实ip

已解决

python 获取用户真实IP,我现在用的是 request.remote_addr 但是获取到的有时不准确,比如我现在用的是武汉电信的手机号上网,而我此时在深圳,获取到的IP却显示我还在武汉而不是深圳,怎样才可以获取到我的真实ip地址深圳啊

展开
收起
@echo 2018-01-08 17:41:26 9200 0
3 条回答
写回答
取消 提交回答
  • 会分期首席架构师,曾任知乎、AppAnnie 高级工程师及 Team Lead。
    采纳回答
    1. 请先访问 ip138.com 或 ipip.net 之类查看自己的 IP 是多少,已验证是否为 Python 后端问题;
    2. 如果这些网站给的 ip 和 python 后端不一致,请确认服务端是否有使用反向代理;
    2019-07-17 21:52:06
    赞同 2 展开评论 打赏
  • remote_addr就是真实的ip,是来自socket的ip,不可能是假的。
    你这个问题的关键,是要理解当前我们的网络环境。通过移动蜂窝网络上网的用户,可以肯定都没有独立的ipv4的公网ip。也就是蜂窝网络的流量,全部都是通过nat之后到达目标服务器的。通过remote_addr来定位移动蜂窝流量的真实ip意义不大。
    想其它办法来获取准确的用户地址吧。

    2019-07-17 21:52:06
    赞同 展开评论 打赏
  • http://kodango.com

    如果中间有经过代理,看 X-Forwarded-For 比较准确

    2019-07-17 21:52:06
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载