我正在尝试构建一个基于Windows的Web小程序,它可以抓取PC所连接的SSID!这就是我目前正在做的事情,但我很乐意看到另一种方法或改进。我们的想法是让JavaScript向applet发送请求,然后使用Java applet的响应附加文本框的值。
的JavaScript
var ssid = applet.getNetworkParameter("SSID", networkInterface);
爪哇
public String getNetworkParameter(final String parameter, final String arg1){
setAppletStringReturnValue("");
AccessController.doPrivileged(new PrivilegedAction(){
public Object run() {
try {
if (osName.indexOf("win") > -1)
{
this.osNetDriver = new Windows7NetServices();
}
if (parameter.equals("SSID")){
SmartConfig.this.setAppletStringReturnValue(SmartConfig.this.osNetDriver.getSSID(arg1));
}
}
}
return null;
}
});
return this.appletStringValue;
}
public String getSSID(String interfaceName){
try
{
String cmd = "NETSH WLAN SHOW INTERFACE";
boolean parsingAllowed = false;
Runtime run = Runtime.getRuntime();
Process pr = run.exec(cmd);
pr.waitFor();
BufferedReader buf = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line = "";
while ((line = buf.readLine()) != null)
{
String[] arr = line.split(":");
if (arr.length >= 2)
{
String parameter = arr[0].trim();
String value = arr[1].trim();
if (parameter.equals("Name"))
{
parsingAllowed = value.equals(interfaceName);
}
if ((parameter.equals("SSID")) && (parsingAllowed))
{
return value;
}
}
}
}
return "";
}