复制代码代码如下:
<html>
<adal>
<Title> </Title>
</ head>
<body>
<Object Classid = "CLSID: 76A64158-CB41-11D1-8B02-00600806D9B6" ID = "Locator" Style = "Affichage: Aucun; Visibilité: Hidden"> </ Object>
<Object Classid = "CLSID: 75718C9A-F029-11D1-A1AC-00C04FB6C223" ID = "FOO" Style = "Affichage: Aucun; Visibilité: 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>
</docy>
</html>
<script linguisse = "javascript">
var smacaddr = "";
var sipaddr = "";
var sdnsname = "";
var service = locator.connectServer ();
Service.Security_.ImpersonationLevel = 3;
service.instancesofasync (foo, 'win32_networkadapterconfiguration');
</cript>
<script pour = "foo" event = "onObjectary (objObject, obJasyncConText)" Language = "JScript">
if (objObject.ipeNabled! = null && objObject.ipeNabled! = "Undefined" && objObject.ipeNabled == true) {
if (objObject.ipeNabled && objObject.IpAddress (0)! = null && objObject.IpAddress (0)! = "Undefined" && objObject.dnsServerSearchOrder! = null)
sipaddr = objObject.ipAddress (0);
if (objObject.macAddress! = null && objObject.macAddress! = "Undefined")
smacaddr = objObject.macAddress;
if (objObject.dnshostName! = null && objObject.dnshostName! = "Undefined")
sdnsname = objObject.dnshostName;
}
</cript>
<script pour = "foo" event = "onCompleted (hResult, perrorObject, pasyncConText)" Language = "JScript">
myform.macaddress.value = smacaddr;
myform.ipaddress.value = sipaddr;
myform.hostname.value = sdnsname;
</cript>
代码是网上找到 , 但是经过修改。
原因是比如你笔记本有多张网卡 , 会出现获取你未联网或者禁用网卡的信息 , 解决办法 : 加限制条件:
objObject.dnsServerSearchOrder! = Null
加上这个限制条件后 , 就能取到联网客户端的网卡 ip 地址了。
不过还有个问题就是只能限制 c'est-à-dire 浏览器 , 而且 activex 必须要全部启用。