`
footman265
  • 浏览: 119128 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

jsp如何获取客户端的mac地址

    博客分类:
  • j2SE
阅读更多
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.io.LineNumberReader; 

public class GetMACAddress { 
public String getMACAddress(String ipAddress) { 
    String str = "", strMAC = "", macAddress = ""; 
    try { 
       Process pp = Runtime.getRuntime().exec("nbtstat -a " + ipAddress); 
       InputStreamReader ir = new InputStreamReader(pp.getInputStream()); 
       LineNumberReader input = new LineNumberReader(ir); 
       for (int i = 1; i < 100; i++) { 
           str = input.readLine(); 
           if (str != null) { 
                if (str.indexOf("MAC Address") > 1) { 
                    strMAC = str.substring(str.indexOf("MAC Address") + 14, 
                    str.length()); 
                    break; 
               } 
          } 
       } 
   } catch (IOException ex) { 
   return "Can't Get MAC Address!"; 
   } 
   // 
   if (strMAC.length() < 17) { 
      return "Error!"; 
   } 

   macAddress = strMAC.substring(0, 2) + ":" + strMAC.substring(3, 5) 
   + ":" + strMAC.substring(6, 8) + ":" + strMAC.substring(9, 11) 
   + ":" + strMAC.substring(12, 14) + ":" 
   + strMAC.substring(15, 17); 
   // 
   return macAddress; 
} 

   public static void main(String[] args) { 
      GetMACAddress getMACAddress = new GetMACAddress(); 
      System.out.println(getMACAddress.getMACAddress("59.78.63.38")); //获得该ip地址的mac地址 
   } 

public static String procAll(String str) { 
return procStringEnd(procFirstMac(procAddress(str))); 
} 

public static String procAddress(String str) { 
int indexof = str.indexOf("Physical Address"); 
if (indexof > 0) { 
return str.substring(indexof, str.length()); 
} 
return str; 
} 

public static String procFirstMac(String str) { 
int indexof = str.indexOf(":"); 
if (indexof > 0) { 
return str.substring(indexof + 1, str.length()).trim(); 
} 
return str; 
} 

public static String procStringEnd(String str) { 
int indexof = str.indexOf("\r"); 
if (indexof > 0) { 
return str.substring(0, indexof).trim(); 
} 
return str; 
} 
} 
 
只要写一个servlet来调用这个类的getMACAddress(String netip)方法就可以获得客户端的mac地址了,相信你会写jsp应该对servlet也不陌生吧,在jsp中调用servlet通过session传递返回的mac地址,加以判断就可以了 

ps.mac地址是可以通过注册表修改的,不建议以此来作为限制依据~ 

又ps.很多网站都在想这个问题,其实很难解决,网上投票难免掺假,其实mac确实是个不错的选择,但是感觉有点侵入他人电脑的意思。要限制还不如考自觉,现在网站投票不都是一个账户只能投一票么,还把注册程序搞得很复杂,其实这样的方法更适合,如果你的网页要投入使用的话,还是后者方法比较适宜。
 
分享到:
评论

相关推荐

    java 获取客户端ip mac地址

    在基于JSP的Web应用中,可以通过`HttpServletRequest`对象的`getRemoteAddr()`方法来轻松地获取客户端的IP地址。但是在使用JSF框架的应用中,则需要通过不同的方式来访问`HttpServletRequest`对象。 **示例代码**:...

    mac实例,获取客户端MAC插件,获取客户端MAC实例JSP

    本实例将关注在Mac环境下,通过JSP(JavaServer Pages)来获取客户端MAC地址的方法。 首先,了解JSP的基础知识是必要的。JSP是一种动态网页开发技术,由Sun Microsystems(现为Oracle公司)推出,用于构建基于Java...

    Java/JSP获得客户端网卡MAC地址的三种方法解析

    本文将深入解析在Java/JSP环境中获取客户端网卡MAC地址的三种常见方法,旨在为开发者提供全面而深入的理解。 ### 方法一:通过Java NIO(非阻塞I/O)库 Java NIO库提供了访问底层网络接口的能力,从而可以获取包括...

    Java获取客户端IP及Mac地址(同网段).rar

    在Controller类获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用...

    获取客户端网卡MAC地址和IP地址实现JS代码

    要获取服务器端的MAC很容易,但是要获取客户端的MAC的地址确要花费一翻心思,通常的做法是调用Win32API或直接调用nbtstat命令,这样做有很多问题,而另一种方法就是直接用客户端脚本,我们这里用Javascript,这样做...

    JSP如何获取客户端真实IP地址

    在JSP开发中,获取客户端的真实IP地址是一个常见需求,尤其在需要进行安全验证、日志记录或地理位置分析时。在没有反向代理的简单情况下,可以通过request对象的getRemoteAddr()方法来获取客户端IP地址。然而,在...

    jsp获取浏览者真实IP地址方法

    在Web开发中,获取客户端的IP地址是一项基础且重要的功能,特别是在需要追踪用户地理位置、限制访问权限或是进行数据分析时。然而,在复杂的网络环境中,如存在代理服务器的情况下,直接使用`request.getRemoteAddr...

    jsp中获取地址的写法

    除了获取路径信息之外,JSP 和 Servlet 还提供了多种方法来获取客户端的相关信息,这对于日志记录、统计分析等非常有用。以下是一些常用的客户端信息获取方法: 1. **`getUserAgent()`**:通过 `request.getHeader...

    java获取IP地址

    2. **获取客户端MAC地址**: - MAC地址通常无法直接通过网络请求获取,因为它是网络层的物理地址,不参与IP层的通信。但是,可以通过操作系统提供的命令行工具间接获取。例如,Windows系统中的`nbtstat -A`命令可以...

    JSP开发实用技术整理

    11.javascript获取客户端网卡MAC地址和IP地址和计算机名 7 12.JAVA反射 8 13. 自定义ClassLoader 13 14. double保留两位数的两个方案 18 16. 用户输入输出,文件输入输出范例(1) 19 17.以指定符号分割显示 22 17. ...

    JSP语法简明入门教程大全PDF,有JSP的安装、启动及简单示例

    配合一个处理表单的JSP页面(process.jsp),可以获取并显示用户的输入。 ### JSP生命周期 JSP页面经过编译后会被转化为Servlet,经历初始化、服务和销毁三个阶段。在服务阶段,每次请求都会创建一个JSP页面对应...

    MAC查询 AndroidTOWeb

    标题“MAC查询 AndroidTOWeb”涉及的是一个网络通信项目,主要功能是通过手机客户端(Android设备)查询MAC地址,并在Web服务器(使用JSP技术)上进行验证。这个过程包括了客户端与服务端的数据交互、数据库操作以及...

    web常见问题解答web常见问题解答,可以受到很大的启发

    - **获取客户端MAC地址**:在Web应用中,由于安全原因,直接获取客户端MAC地址通常是不允许的,但可以通过特定技术间接获取,如JavaScript或服务器端代理。 - **深入研究equal**:Java中的equals()方法是用于比较...

    Jsp基础教程 基本的动态网页的设置

    3. 启动Tomcat服务器,通常在Tomcat的bin目录下运行`startup.bat`(Windows)或`startup.sh`(Linux/Mac)脚本。 ### 2. Editplus编辑器 Editplus是一款功能丰富的文本编辑器,支持多种编程语言,包括JSP。使用...

    JSP-Servlet-Ajax考题共享

    - 启动Tomcat通常是通过bin目录下的startup.sh(Linux/Mac)或startup.bat(Windows)。 - 停止Tomcat对应的是bin目录下的shutdown.sh或shutdown.bat。 5. **动态网页技术**: - 动态网页技术包括JSP、Servlet、...

    基于jsp的驾校管理系统源码数据库.doc

    随着社会的发展与进步,获取驾照已经成为现代社会人们的一项基本技能。为了更好地管理和优化驾校资源,提高教学效率和服务质量,许多驾校开始采用信息化手段来提升管理水平。本项目旨在开发一款基于JSP技术的驾校...

    韩顺平_j2ee视频实战教程jsp第2讲_课件_笔记

    JSP技术的核心是Servlet容器,如Tomcat,它可以解析JSP文件并将其转换为Servlet,然后执行并返回结果给客户端。 ### Eclipse开发工具详解 #### 1.0 介绍 Eclipse是一个开源的集成开发环境(IDE),广泛用于Java...

    Tomcat的安装和配置(jsp环境配置二)

    Tomcat接收HTTP请求,通过Servlet容器处理JSP和Servlet,最后将结果返回给客户端。Servlet是Java代码运行的容器,而JSP则是动态网页的编写方式,最终会被编译成Servlet。 总之,安装和配置Tomcat是Java Web开发者...

    WebLogic Web Development

    - **如何获得客户端的MAC地址**:在Java中获取客户端MAC地址通常需要使用网络套接字(Socket)和网络接口(NetworkInterface)类,需要注意跨平台兼容性和安全问题。 - **axman对equal的深入研究**:讨论了Java中...

    校园网用户客户端软件的使用指南-鲁迅美术学院.docx

    在首页找到“网络服务”栏目,进一步点击“信息网络中心”,这是获取客户端软件和相关信息的主要入口。在该页面上,用户会发现关于校园网用户下载客户端软件的通知,按照指示进行下一步操作。 下载客户端软件是使用...

Global site tag (gtag.js) - Google Analytics