易截截图软件、单文件、免安装、纯绿色、仅160KB

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)"


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

Java NIO API详解

 
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......

Java Reflection 浅析2

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 ......

Java 面试中的陷阱

第一,谈谈final, finally, finalize的区别。
最常被问到。
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
第四,&和&&的区别。
这个问得很少。 ......

基于JSP的物流管理平台

选题依据及研究意义
现代物流,是指产品从生产地到消费地之间的整个供应链,运用先进的组织方式和管理技术,进行高效率计划、管理、配送链,为用户提供多功能、一体化的综合性服务,从而达到降低流通成本、提高生产效率、增加企业利润。的新型服务业。它通过对运输、仓储、装卸、加工、整理、配送与信息等方面有机结合,形 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号