如何使用JavaScript获得客户的IP地址?

我需要以某种方式使用JavaScript检索客户端的IP地址;没有服务器端代码,甚至没有SSI。

然而,我并不反对使用免费的第三方脚本/服务。

这里的大多数答案都绕开了服务器端代码的需要,通过...攻击别人的服务器。这是一个完全有效的技术,除非你确实需要在不攻击服务器的情况下获得IP地址。

传统上,如果没有某种插件,这是不可能的(即使如此,如果你在NAT路由器后面,你也可能得到错误的IP地址),但随着WebRTC的出现,实际上是可以做到这一点的。如果*你的目标是支持WebRTC的浏览器(目前:Firefox、Chrome和Opera)。

请阅读mido'的回答,了解如何使用WebRTC检索有用的客户端IP地址的细节。

评论(6)

一般来说不可能,除非你使用某种外部服务。

评论(1)

其实并没有一个可靠的方法来获得客户电脑的IP地址。

这就有了一些可能性。如果用户有多个界面,使用Java的代码会中断。

http://nanoagent.blogspot.com/2006/09/how-to-find-evaluate-remoteaddrclients.html

从这里的其他答案来看,你可能想得到客户的公共IP地址,这可能是他们用来连接互联网的路由器的地址。这里的许多其他答案都谈到了这一点。我建议创建和托管你自己的服务器端页面,用于接收请求并回复IP地址,而不是依赖别人的服务,因为别人的服务可能会也可能不会继续工作。

评论(0)