如何获得“真实”的用户 IP 地址?
Posted
技术标签:
【中文标题】如何获得“真实”的用户 IP 地址?【英文标题】:How get the "real" user ip address? 【发布时间】:2012-10-25 19:57:46 【问题描述】:我试图获取“真实”用户 IP 地址,它正在工作,但我没有得到自己的 IP(真实的),使用谷歌地图检查 IP,将其转换为长纬度,谷歌地图正在显示我的 ISP 的位置。
def get_client_ip(request):
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[0]
else:
ip = request.META.get('REMOTE_ADDR')
return ip
我想要做的是显示来自用户发送文章的确切位置的地图。
有什么想法吗?
谢谢
【问题讨论】:
【参考方案1】:服务器端唯一可用的方法是 IP,它将始终解析到您的 ISP。
更高级的方法存在安全风险,因此系统会提示用户允许它们(因此只有客户端可用)。查看 html5 GEO 了解更多信息:
http://html5demos.com/geo
http://dev.w3.org/geo/api/spec-source.html
【讨论】:
【参考方案2】:您将无法获得比这更精确的信息。报告的 IP 地址是正确的,但 IP 地址位置取决于 ISP。对于台式电脑来说,这已经足够了。
您当前正在检索的 IP 是您的应用程序接收到的 IP,所有网络应用程序都知道,那就是您,但您可能在代理或 *** 后面,而应用程序永远不会知道。
【讨论】:
以上是关于如何获得“真实”的用户 IP 地址?的主要内容,如果未能解决你的问题,请参考以下文章