复制代码代码如下:
<html>
<голова>
<title> </title>
</head>
<тело>
<Object classid = "clsid: 76a64158-cb41-11d1-8b02-00600806d9b6" id = "locator" style = "display: none; Видимость: Hidden"> </Object>
<Object classid = "clsid: 75718c9a-f029-11d1-a1ac-00c04fb6c223" id = "foo" style = "display: none; видимость: hidden"> </object>
<form name = "myform">
<br/> mac 地址 : <input type = "text" name = "macaddress">
<br/> ip 地址 : <input type = "text" name = "iPaddress">
<br/> 主机名 : <input type = "text" name = "hostname">
</form>
</body>
</html>
<script language = "javascript">
var smacaddr = "";
var sipaddr = "";
var sdnsname = "";
var service = locator.connectserver ();
Service.security_.ImpersonationLevel = 3;
Service.InstanceOfAsync (foo, 'win32_networkAdapterConfiguration');
</script>
<script for = "foo" event = "onobjectready (objobject, objasynccontext)" language = "jscript">
if (objobject.ipenabled! = null && objobject.ipenabled! = "undefined" && objobject.ipenabled == true) {
if (objobject.ipenabled && objobject.ipaddress (0)! = null && objobject.ipaddress (0)! = "Не определено" && objobject.dnsserversearchorder! = null)
sipaddr = objobject.ipaddress (0);
if (objobject.macaddress! = null && objobject.macaddress! = "Не определено")
smacaddr = objobject.macaddress;
if (objobject.dnshostname! = null && objobject.dnshostname! = "Не определено")
sdnsname = objobject.dnshostname;
}
</script>
<script for = "foo" event = "oncompleted (hresult, perroRobject, pasynccontext)" language = "jscript">
myform.macaddress.value = smacaddr;
myform.ipaddress.value = sipaddr;
myform.hostname.value = sdnsname;
</script>
代码是网上找到 , 但是经过修改。
原因是比如你笔记本有多张网卡 , 会出现获取你未联网或者禁用网卡的信息 解决办法 : 加限制条件 :
objobject.dnsserversearchorder! = null
加上这个限制条件后 , 就能取到联网客户端的网卡 IP 地址了。
不过还有个问题就是只能限制 IE 浏览器 , ActiveX 必须要全部启用。