Java/JSP获得客户端网卡MAC地址的三种方法解析
从网上查找资料java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种。
1、通过命令方式,在客户端执行Ipconfig 等等
2、通过ActiveX的方法
3、通过向137的端口发送查询指令的方法
简介:
第一种方法,在真正用到时候不知道为什么获得mac地址的指令阻塞了,不往下继续执行。而且速度是这三种方法中最慢的一种。
代码如下:
String sip="";
String smac="";
sip = request.getHeader("x-forwarded-for");
if(sip == null ||sip.length() == 0 || "unknown".equalsIgnoreCase(sip))
{
sip = request.getHeader("proxy-Client-IP");
}
if (sip == null || sip.length() == 0 || "unknown".equalsIgnoreCase(sip))
{
sip = request.getHeader("WL-Proxy-Client-IP");
}
if (sip == null ||sip.length() == 0 || "unknown".equalsIgnoreCase(sip))
{
sip = request.getRemoteAddr();
}
if(!"127.0.0.1".equals(sip)) //本机过滤掉
{
Process process = Runtime.getRuntime().exec("nbtstat -a " + sip);
InputStreamReader ir = new InputStreamReader(process.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null)
if (line.indexOf("MAC Address") > 0)
{
smac = line.substring(line.indexOf("-") - 2);
}
第二种方法是用ActiveX来获得,速度比第一种方法快但是必须降低安全设置否则脚本不被执行
IE设置如下
1.打开IE浏览器
2.工具->Internet选项->安全
3.自定义级别(C)...
4.设置中对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本
选中启动(不安全)->每次不用点击"是"按钮,推荐,当然你的机器不能上互联网否则会有安全问题。
选中提示->每次都得点击"是"按钮。
5.点击"确定"->"确定"按钮
6.重新启动IE浏览器设置生效
代码
<SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)"
相关文档:
1、JDK (Java Development Kit)
SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK)。开发人员和最终用户可以利用这个工具来开发java程序。
JDK简单易学,可以通过任何文本编辑器(如:Windows 记事本、UltrEdit、Editplus、FrontPage以及dreamweaver等)编写Java源文件,然 ......
inner class和outer class之间的reflection应用。
package com.gaoqian.reflection;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
class IncludeInn ......
霍纳规则多项式计算如果使用朴素的多项式求值,时间复杂度为O(n*n),而是用了霍纳规则可以使用递归或者迭代来实现,时间复杂度是O(n),下面是源代码:
/*
* 实现霍纳规则的多项式计算时间复杂度为O(N)
*/
public class HuonaRule {
public static void main(String args[])
{
double data[]=new double[]{1.0,2, ......
仿真表单:BOT程序模拟人类用户填写表单 并 发送
抓取表单:
HTTPSocket http = new HTTPSocket();
SocketFactory.setProxyHost("openproxy.huawei.com");
SocketFactory.setProxyPort(8080);
HTMLPage page = new HTMLPage(http);
page.open("http://passport.csdn.net/UserLogin.aspx", null);
Vector vec = page. ......