注册
其实我可以理解乐天,毕竟韩国是它的国家,所以也请理解我们抵制乐天,因为中国也是我们的国家

JavaScript获取客户端IP地址,MAC地址,主机名的方法

嗨豆壳技术文章 时间:2014-09-12 09:52:24 [ray]

本文主要介绍JS如何获取客户端的硬件、系统等信息的技术,注意:仅适用于微软的Windows操作系统IE浏览器及IE内核的浏览器。

通过WMI来实现获取客户端计算机硬件及系统信息是目前比较常用的方法

什么是WMI?

WMI就是Windows管理工具,他可以管理Windows,从常见的文件操作到硬件管理,都可以通过WMI来实现。

<html>
<head>
<title>JavaScript获取客户端IP地址,MAC地址,主机名的方法</title>
</head><body>
<object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;"></object>
<object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;"></object>    
<form id="myForm">
<p>MAC地址:<input type="text" name="macAddress" /></p>
<p>IP地址:<input type="text" name="ipAddress" /></p>
<p>主机名:<input type="text" name="hostName" /></p>
</form>
<script language="javascript">
var sMacAddr = "",sIPAddr = "",sDNSName = "";
var service = locator.ConnectServer();
service.Security_.ImpersonationLevel = 3;
service.InstancesOfAsync(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) != "undefined"){
		sIPAddr = objObject.IPAddress(0);
	}
	if(objObject.MACAddress != null &&objObject.MACAddress != "undefined"){
		sMacAddr = objObject.MACAddress;
	}
	if(objObject.DNSHostName != null &&objObject.DNSHostName != "undefined"){
		sDNSName = objObject.DNSHostName;
	}
}
</script>
<script for="foo" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" language="JScript">
document.getElementById("myForm").macAddress.value = sMacAddr;
document.getElementById("myForm").ipAddress.value = sIPAddr;
document.getElementById("myForm").hostName.value = sDNSName;
</script></body>
</html>

经测试,在ie中能正常获取到客户端的ip地址,mac地址,主机名等信息。

标签

本文地址:https://www.hi-docs.com/article/81.html

上一篇:Jquery插件快速开发实例教程

下一篇:百度免费IP地址查询API,查询接口