JS能获得电脑的CPU硬盘序列号MAC地址计算机名等信息吗?

JavaScript012

JS能获得电脑的CPU硬盘序列号MAC地址计算机名等信息吗?,第1张

JS是没有对应的命令来直接获取这些信息的。

1、如果需要使用JS获取这些信息,可以通过JS释放一个VB文件,通过该脚本间接获取这些信息,不需要直接提取。

2、VB语言中的一些函数可以用于获取这些信息,并储存在特定的地方;JS自带的XMLHTTP组件则可以在这些地方获取这些数据。所以,在JS中插入“释放VB文件、调用XMLHTTP组件”的命令,就可以间接获取这些数据了。

3、JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

4、JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。

<script language="javascript" type="text/javascript">function getMac(){var locator =new ActiveXObject ("WbemScripting.SWbemLocator")var service = locator.ConnectServer(".")var properties = service.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled =True")var e =new Enumerator (properties)var p = e.item()//获取mac地址alert("你的mac地址是: " + myMac)}</script><body><center><font color="#ff0000">注意:使用本功能时会提示ie安全性,点击“是”按钮就可以了。

package com.alpha.test

import java.io.BufferedReader

import java.io.IOException

import java.io.InputStream

import java.io.InputStreamReader

import java.io.LineNumberReader

public class GetMac {

/**

* java获取客户端网卡的MAC地址

*

* @param args

*/

public static void main(String[] args) {

GetMac get = new GetMac()

System.out.println("1="+get.getMAC())

System.out.println("2="+get.getMAC("127.0.0.1"))

}

// 1.获取客户端ip地址( 这个必须从客户端传到后台):

// jsp页面下,很简单,request.getRemoteAddr()

// 因为系统的VIew层是用JSF来实现的,因此页面上没法直接获得类似request,在bean里做了个强制转换

// public String getMyIP() {

// try {

// FacesContext fc = FacesContext.getCurrentInstance()

// HttpServletRequest request = (HttpServletRequest) fc

// .getExternalContext().getRequest()

// return request.getRemoteAddr()

// } catch (Exception e) {

// e.printStackTrace()

// }

// return ""

// }

// 2.获取客户端mac地址

// 调用window的命令,在后台Bean里实现 通过ip来获取mac地址。方法如下:

// 运行速度【快】

public String getMAC() {

String mac = null

try {

Process pro = Runtime.getRuntime().exec("cmd.exe /c ipconfig/all")

InputStream is = pro.getInputStream()

BufferedReader br = new BufferedReader(new InputStreamReader(is))

String message = br.readLine()

int index = -1

while (message != null) {

if ((index = message.indexOf("Physical Address")) >0) {

mac = message.substring(index + 36).trim()

break

}

message = br.readLine()

}

System.out.println(mac)

br.close()

pro.destroy()

} catch (IOException e) {

System.out.println("Can't get mac address!")

return null

}

return mac

}

// 运行速度【慢】

public String getMAC(String ip) {

String str = null

String macAddress = null

try {

Process p = Runtime.getRuntime().exec("nbtstat -A " + ip)

InputStreamReader ir = new InputStreamReader(p.getInputStream())

LineNumberReader input = new LineNumberReader(ir)

for (true) {

str = input.readLine()

if (str != null) {

if (str.indexOf("MAC Address") >1) {

macAddress = str

.substring(str.indexOf("MAC Address") + 14)

break

}

}

}

} catch (IOException e) {

e.printStackTrace(System.out)

return null

}

return macAddress

}

}