IE 获取 本地 Mac地址

it2023-03-24  77

文章目录

需求解决总结

需求

在django里面扩展用户信息,添加mac地址获取本地Mac地址信息,并一起post到服务器在服务器对Mac地址进行校验

解决

django里面扩展用户信息可以这两篇博客:博客1,博客2

暂时只能使用IE,可能可以使用火狐来通过JS获取本机Mac地址,Chrome这些浏览器因为安全性一般都不提供这种插件,IE也是通过ActiveX这个插件才能做到。

设置IE浏览器: 跟ActiveX相关的都设置成启用吧。

JavaScript代码:

var locator = new ActiveXObject("WbemScripting.SWbemLocator"); var service = locator.ConnectServer("."); var properties = new Enumerator (service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"); while (properites.atEnd() == false) { var p = properites.item(); mac = p.MACAddress; return mac; }

这里我直接返回第一个启用的适配器的Mac地址,可能会有错误,特别是机器上面跑什么VPN的时候。按需来改,只用改循环里面的东西就好,其他的东西都是固定的。

发个post请求就不多说了。

总结

主要就是IE获取Mac地址最恶心,花了一天多的时间,反正就是注意两点:

IE打开ActiveX支持上面那段Js代码,还只能这样写,从第一行开始到while循环都是固定的,只能那么写,后面的where可以去掉那些禁用的适配器,保留现在在用的。IE对一些Js里面的特性不支持,这个也是恶心人的东西,这个需要Google查下。
最新回复(0)