js与局域网
最近遇到一个问题,通过js获取ip地址可以使用这个方法:
$.get('http://api.hostip.info/get_html.php', function(data) {
var tempData = data.split("\n");
for (var i in tempData) {
var val = tempData[i].split(":");
if (val[0] === "IP") {
console.log(val[1]);
}
}
});
那有没有可能使用js来获取本机局域网内的地址,就是路由器下面192开头的那种,如果没有那需要通过什么来辅助才能够获取到?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这段代码本质是上是让浏览器请求某个服务器,然后服务器返回这次链接中的
ip.src
,获得ip地址的。其实,运行在浏览器中的js是不能够直接访问电脑中的绝大部分资源的。这个主要是为了安全性,你想如果一个网页上的代码可以访问你电脑里的文件那是不是就很危险的。
如果你非要实现这样的功能,就需要开发浏览器插件(不是扩展,扩展和插件是有区别的),但要求是用户必须安装你的插件。
不是运行在浏览器中的js是可以做到直接读取本机的ip地址的,比如nodejs
只能通过后端语言来获取了,要么你整整node
直接获取局域网貌似不太行。不过你可以创建一个服务器页面。然后通过ajax请求这个地址。从服务器返回出这个IP。
类似通过访问ip138来解析里面的自己公网IP地址一样
js是有权限限制的,所以这个做不到,还有一些其他方面也很难实现,如操作本地文件,如果要做的话可以用后台语言或者nodejs。而且在用后台技术获取这个ip的时候,我们获取到的是路由器的(如果有的话),而不是真正分配给我们的。