servlet(java)获取客户端IP(MAC)
由于出于安全性问题,javascript并不能直接获得客户端的IP。
但是后端语言确实可以的。
所以javascript可以通过ajax技术来获得后端语言得到的IP,并返回到前端。
1:通过java的servlet获取IP:
public String getRemoteAddress(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
ip = request.getRemoteAddr();
}
return ip;
}
如果是用反向代理技术的话request.getHeader("x-forwarded-for");会有值,
一般情况下,只要request.getRemoteAddr();就可以了。
2:获取MAC:
public String getMACAddress(String ip) {
String str = "";
String macAddress = "";
try {
Process p = Runtime.getRuntime().exec("nbtstat -a " + ip);
InputStreamReader ir = new InputStreamReader(p.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) {
if (str.indexOf("MAC") > 1) {
macAddress = str.substring(
str.indexOf("=") + 2, str.length());
break;
}
}
}
} catch (IOException e) {
e.printStackTrace(System.out);
}
return macAddress;
}
通过命令nbtstat -a ip来获得该ip相对应的mac地址。
注意:验证时url时不要用localhost或者127.0.0.1,要使用ip的方式。
分享到:
相关推荐
在Servlet环境中,可以使用`HttpServletRequest`对象的`getRemoteAddr()`方法获取客户端IP,但请注意这可能只返回代理服务器的IP,而非最终用户。 5. **第三方库集成** - MaxMind GeoIP2 Java库:首先需要下载...
首先,我们需要了解在Java Web应用中获取客户端IP地址的基本方法。通常,在Servlet环境下,可以通过HttpServletRequest对象的getRemoteAddr()方法来获取。然而,在某些情况下,如通过反向代理服务器(如Nginx、...
根据给定的文件标题“Java获取客户端代码大全”及其描述“Java获取客户端代码大全,最全、最明确的客户端代码”,本文将详细解析如何利用Java技术有效地获取客户端的相关信息,并提供一系列实用的代码示例。...
Java根据Request获取客户端IP Java根据Request获取客户端IP是指在Java Web开发中获取客户端的IP地址,以便进行相应的处理和分析。在JSP中,获取客户端IP地址的方法是使用request.getRemoteAddr(),这种方法在大部分...
在Servlet中,我们通常使用`HttpServletRequest`对象来获取请求的相关信息,包括客户端的IP地址。以下是如何实现这一功能的代码示例: ```java import javax.servlet.http.HttpServletRequest; import javax....
本文将深入解析在Java/JSP环境中获取客户端网卡MAC地址的三种常见方法,旨在为开发者提供全面而深入的理解。 ### 方法一:通过Java NIO(非阻塞I/O)库 Java NIO库提供了访问底层网络接口的能力,从而可以获取包括...
本文将详细讲解如何在后台获取客户端IP地址,并通过分析`GetByIP.java`文件来理解其主要代码。 首先,我们需要明白HTTP协议中的IP地址是如何传递的。在HTTP请求头中,`X-Forwarded-For`和`Remote_ADDR`是两个常见的...
总之,通过上述方法可以在Java中有效地获取到客户端的真实IP地址,这对于许多应用场景都是非常有用的。同时,在实现过程中还需要注意处理各种特殊情况,确保获取到的数据准确无误,并且符合相关的安全与隐私规定。
以下是如何在IntelliJ IDEA中使用Java和Servlet来获取用户IP的方法: 1. **配置Servlet**:首先,在IntelliJ IDEA中创建一个Java Web项目,然后添加Servlet类。继承`javax.servlet.http.HttpServlet`,并在`doGet`...
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去,...
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去...
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去,...
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去,...
在IT行业中,网络编程是不可或缺的一部分,而获取客户端IP地址是一项基本操作。在这个"获取客户的ip小例子"中,我们将探讨如何使用Java语言来实现这一功能。Java提供了多种方法来获取HTTP请求中的客户端IP地址,这在...
服务端(JAVA Servlet ) + 客户端( Delphi xe8 ) 三层开发, delphi相关的资源包 请到 http://download.csdn.net/detail/zaorv/9081777 下载。
本文将详细介绍如何通过Java Servlet获取客户端的IP地址和访问URL,并提供相应的简单代码示例。 首先,我们要理解Servlet接口中的`HttpServletRequest`对象。这个对象是Servlet容器(如Tomcat、Jetty)在请求到达...
在Java语言开发的Web应用中,尤其是在使用Java Server Pages(JSP)技术时,获取客户端的IP地址是常见的需求之一,这可以用于日志记录、用户访问统计、安全性检查等多种场景。本文详细介绍了几种在JSP中获取客户端IP...
在Java Web开发中,获取客户端IP地址是一项常见需求。无论是用于安全验证、统计分析还是其他目的,了解如何准确地获取IP地址对于开发者来说都是至关重要的。本文将详细介绍如何通过Java Web应用程序(特别是Servlet...
在Java编程中,获取IP地址是一项常见的任务,无论是为了网络通信、日志记录还是其他网络相关的功能。在Java中获取IP地址主要涉及到网络编程的知识,包括InetAddress类、Socket编程等概念。以下将详细讲解如何在Java...
### 服务端(JAVA Servlet) + 客户端(Delphi xe8) 三层开发 #### 服务端:Java Servlet 3.0 开发 **Java Servlet 3.0** 是一个广泛应用于企业级Web应用的服务端技术。在这个场景中,服务端的主要任务是接收来自...