我的Web应用程序中有一个场景需要通过java脚本或服务器端代码找出客户端的MAC地址。
请帮我解决此问题。
谢谢, Tamilselvan S.
答案 0 :(得分:0)
客户端IP地址或客户端MAC地址?可以使用Page.Request.UserHostAddress检索第一个。第二个问题(MAC地址)稍微复杂一点,您需要使用WMI。您需要在JavaScript中创建一个对象,查询WMI并将信息传递回服务器。此外,您需要允许在IE中访问未签名的ActiveX。试试下面的一个。
<script type="text/javascript">
var macAddress = "";
var ipAddress = "";
var computerName = "";
var wmi = GetObject("winmgmts:{impersonationLevel=impersonate}");
e = new Enumerator(wmi.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"));
for(; !e.atEnd(); e.moveNext()) {
var s = e.item();
macAddress = s.MACAddress;
ipAddress = s.IPAddress(0);
computerName = s.DNSHostName;
}
</script>
此处我们将访问Win32_NetworkAdapterConfiguration以读取网络相关详细信息,如MAC地址,IP地址和计算机名称,而不是Win32_Processor。
然后我们可以简单地使用文本框来显示该信息或任何您喜欢的信息。
<input type="text" id="txtMACAdress" />
<input type="text" id="txtIPAdress" />
<input type="text" id="txtComputerName" />
<script type="text/javascript">
document.getElementById("txtMACAdress").value = unescape(macAddress);
document.getElementById("txtIPAdress").value = unescape(ipAddress);
document.getElementById("txtComputerName").value = unescape(computerName);
</script>