我知道对此问题的最初反应是“否”和“无法完成”,并且“您不需要它,您做错了什么”。我正在尝试获取用户的LAN IP地址,并将其显示在网页上。为什么?因为这就是我正在处理的页面的全部内容,因此会显示有关您的尽可能多的信息,访问者:http : //www.whatsmyip.org/more-info-about-you/
因此,除了向用户展示以供参考之外,我实际上并没有对IP做任何事情。我曾经通过使用一个小的Java小程序来做到这一点。效果很好。但是这些天来,浏览器让您多次达成共识和信任,即使是最次要的Java applet也要运行,我宁愿完全不运行它。
所以有一段时间我只是摆脱了这个功能,但是如果可能的话我希望它回来。作为计算机顾问,我有时会不时使用这种东西。转到该网站查看网络正在运行的IP范围要比进入“系统偏好设置”,“网络”以及任何活动的接口都要快。
所以我想知道,是否希望有某种方法可以单独使用javascript?也许您可以访问一些新对象,类似于javascript询问浏览器在地球上的地理位置在哪里。客户端网络信息可能有相似之处吗?如果没有,也许还有其他方法可以完全做到这一点?我能想到的唯一方法是java applet或Flash对象。我宁愿不做任何一个。
事实证明,最近对HTML5的WebRTC扩展允许javascript查询本地客户端IP地址。此处提供概念验证:http://net.ipcalf.com
此功能显然是设计使然,不是错误。但是,鉴于其具有争议的性质,我将谨慎对待这种行为。尽管如此,我认为它完美而恰当地解决了您的预期目的(向用户显示他们的浏览器正在泄漏什么)。
这很有帮助。再次感谢!
它仅适用于Chrome和Firefox,而不适用于IE,Edge或Safari
我正在查找我的WAN IP,这个网站whatismyip.com也给了我我的本地IP,我想它与JS有关。
@ali是的,我上面提到的网站无法告诉我Edge上的本地IP。
Google Chrome默认情况下隐藏本地IP。它显示类似于e87e041d-15e1-4662-adad-7a6601fca9fb.local的内容。可以通过在Chrome:// flags 中将变量#enable-webrtc-hide-local-ips-with-mdns设置为Disabled来更改此行为