`
jxqiujian2008
  • 浏览: 12213 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

java获取客户端的IP地址并转换

 
阅读更多
  用request对象获取客户端用户登入的IP地址,并将127.0.0.1和WIN7系统获取的0:0:0:0:0:0:0:1地址转换为实际的IP

public String getIpAddr(ServletRequestEvent servletRequestEvent) {
HttpServletRequest rquest = (HttpServletRequest) servletRequestEvent
.getServletRequest();
String ipAddress = null;

ipAddress = rquest.getHeader("x-forwarded-for");
if ((ipAddress == null) || (ipAddress.length() == 0)
|| ("unknown".equalsIgnoreCase(ipAddress))) {
ipAddress = rquest.getHeader("Proxy-Client-IP");
}
if ((ipAddress == null) || (ipAddress.length() == 0)
|| ("unknown".equalsIgnoreCase(ipAddress))) {
ipAddress = rquest.getHeader("WL-Proxy-Client-IP");
}
if ((ipAddress == null) || (ipAddress.length() == 0)
|| ("unknown".equalsIgnoreCase(ipAddress))) {
ipAddress = rquest.getRemoteAddr();
if (ipAddress.equals("127.0.0.1")||ipAddress.equals("0:0:0:0:0:0:0:1")) {
InetAddress inet = null;
try {
inet = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
e.printStackTrace();
}
ipAddress = inet.getHostAddress();
}

}

if ((ipAddress != null) && (ipAddress.length() > 15)
&& (ipAddress.indexOf(",") > 0)) {
ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));
}

return ipAddress;
}
分享到:
评论

相关推荐

    java IP地址工具类,java IP地址获取,java获取客户端IP地址

    它提供了便捷的方法来获取和处理IP地址,尤其对于获取客户端IP地址在Web应用中至关重要。 首先,让我们详细了解一下`IpUtils`这个工具类。在Java中,获取IP地址通常涉及到`java.net`包中的类,如`InetAddress`。`...

    java编程实现获取服务器IP地址及MAC地址的方法

    在Java编程中,获取服务器的IP地址和MAC地址是常见的需求,特别是在网络通信和系统管理中。本篇文章将详细介绍如何使用Java实现这一功能,包括针对单网卡和多网卡环境的情况。 首先,获取服务器的IP地址通常涉及到`...

    jsp获取客户端IP地址的方法.docx

    本文将详细介绍几种在JSP环境中获取客户端IP地址的有效方法,并提供实际的代码示例。 #### 二、获取客户端IP地址的重要性 1. **安全性**:通过识别用户的真实IP地址,可以帮助防止恶意攻击。 2. **统计分析**:收集...

    java 获取计算机名与IP地址

    下面将详细介绍如何使用Java获取计算机名和IP地址。 首先,我们来看如何获取计算机名。计算机名通常指的是主机在网络中的标识符,可以通过`java.lang`包中的`InetAddress`类来获取。以下是一个简单的示例: ```...

    java获取ip地址

    - 如果输入的URL有效,则将其IP地址转换为字符串形式,并显示在标签(`jl`)中。 - 如果输入的URL无效或者无法解析,则会抛出`UnknownHostException`异常,此时程序会捕获这个异常并打印堆栈跟踪。 - 用户点击...

    跨平台 获取本机IP/MAC地址,检测是否内网IP,字符串IP转换成Number地址

    本文将深入探讨如何在不同的操作系统上获取本机的IP和MAC地址,以及如何判断一个IP地址是否为内网IP,并将字符串形式的IP地址转换为数值表示。我们将主要关注以下几个知识点: 1. **跨平台获取本机IP地址**: 跨...

    java获取IP地址

    1. **获取客户端IP地址**: - 在传统的JSP页面中,可以通过`HttpServletRequest`的`getRemoteAddr()`方法直接获取客户端的IP地址。这适用于服务器直接与浏览器交互的情况。 - 对于JSF(JavaServer Faces)应用,...

    获取访问者真实的IP地址

    3. **处理 `REMOTE_ADDR`**:如果以上两种方式都无法获取到有效的IP地址,则直接使用`request.getRemoteAddr()`方法获取客户端IP地址。需要注意的是,这种方式获取的可能是代理服务器的IP地址而非客户端的真实IP地址...

    获取手机ip

    获取到IP地址后,可以通过第三方服务如MaxMind GeoLite2库或者Google的IP Geolocation API来解析IP地址,将其转换为国家、城市等地理位置信息。 6. **集成WeatherActivity**: 在名为"WeatherActivity"的Activity...

    java根据本地IP获取mac地址的方法

    此外,在获取客户端请求地址时,我们可以使用HttpServletRequest对象的getHeader()方法获取客户端的IP地址。我们可以使用"x-forwarded-for"、"Proxy-Client-IP"、"WL-Proxy-Client-IP"等header来获取客户端的IP地址...

    用Java编程获得本机和服务器IP地址

    在Java编程中,获取本机和服务器的IP地址是一项常见的任务,这有助于建立网络连接、进行定位服务或者进行网络通信。下面将详细解释如何通过Java实现这个功能。 首先,我们需要了解IP地址的基本概念。IP地址...

    获取用户真实IP地址

    本篇文章将详细介绍如何在不同情况下获取用户的真实IP地址,并探讨可能遇到的问题。 首先,最常见的方法是在HTTP请求头中查找“X-Real-IP”或“X-Forwarded-For”字段。这些字段通常由代理服务器设置,用于传递原始...

    java实现客户端—服务器聊天模型

    而客户端则创建`Socket`对象,通过指定服务器的IP地址和端口号来连接服务器。 接着,我们来看**流式输入(Stream Input)**和**流式输出(Stream Output)**。在Java中,我们通常使用`InputStream`和`OutputStream`...

    java ip 地址分析

    5. IP地址转换:Java提供了一些方法将IP地址转换为字节数组,反之亦然。例如,`InetAddress`的`getAddress()`方法返回一个字节数组,而`InetAddress.getByAddress(byte[] addr)`可以根据字节数组创建`InetAddress`...

    java脚本开发根据客户IP获取IP的具体地理位置信息

    要获取客户端IP,Java中可以使用Servlet的`HttpServletRequest`对象的`getRemoteAddr()`方法。在Web应用中,以下代码片段可以获取到请求的IP地址: ```java import javax.servlet.http.HttpServletRequest; import ...

    工具类-获取访问ip地址工具类,自用留存

    2. **HTTP请求头**:在Web应用中,服务器可以通过处理HTTP请求头来获取客户端的IP地址。通常,`X-Forwarded-For`头字段包含了经过代理服务器转发的原始IP,而`Remote-Addr`头则直接表示客户端的IP。在工具类中,可能...

    Java中的IP地址和InetAddress类使用详解

    然而,计算机之间进行通信时,需要将域名转换为IP地址,这个过程就依赖于DNS(域名系统)。 InetAddress类在java.net包中,它是Java提供用来处理IP地址和域名的工具类。通过InetAddress,我们可以获取域名对应的IP...

    Java判断IP地址为内网IP还是公网IP的方法

    在Java编程中,判断一个IP地址是内网IP(Private IP)还是公网IP(Public IP)通常涉及到网络通信和TCP/IP协议的理解。TCP/IP协议为了提高网络效率和安全性,将一部分IP地址范围预留给了内部网络使用,这些IP地址...

    java源码:Java Telnet客户端实例源码.zip

    Java中的`java.io.InputStreamReader`和`java.io.OutputStreamWriter`可以帮助我们进行字节流到字符流的转换,并设置适当的字符编码,如UTF-8。 4. **回显取消**:Telnet协议支持回显功能,即服务器会将接收到的...

    memcache实现java客户端

    5. **连接Memcache**:使用Java客户端连接到Memcache服务器,需要指定服务器的IP地址和端口号。例如,使用spymemcached,可以创建一个MemcachedClient实例: ```java MemcachedClient client = new Memcached...

Global site tag (gtag.js) - Google Analytics