如果有不对和不全的情况请指出,方便改正。
package com.util;
import javax.servlet.http.HttpServletRequest;
public class GetIPAddr {
public String getIP(HttpServletRequest request) {
String ip = request.getHeader(" x-forwarded-for ");
if (ip == null || ip.length() == 0 || " unknown ".equalsIgnoreCase(ip)) {
ip = request.getHeader(" Proxy-Client-IP ");
}
if (ip == null || ip.length() == 0 || " unknown ".equalsIgnoreCase(ip)) {
ip = request.getHeader(" WL-Proxy-Client-IP ");
}
if (ip == null || ip.length() == 0 || " unknown ".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
String[] arg=ip.split(",");
return arg[0];
}
}
分享到:
相关推荐
### 使用Java获取访问者真实IP地址 在现代Web开发中,获取客户端的真实IP地址是非常重要的。这不仅有助于网站统计分析,还可以用于安全控制、地域限制等功能。然而,在使用如Apache、Squid等反向代理服务器的情况下...
在Java编程中,获取IP地址是一项常见的任务,特别是在网络编程和服务器开发中。这个"java IP地址工具类"是为了解决这个问题而设计的。它提供了便捷的方法来获取和处理IP地址,尤其对于获取客户端IP地址在Web应用中至...
在IT行业中,公网IP(Public IP)是指互联网上唯一标识一台设备的IP地址,与之相对的是私网IP(Private IP),后者在局域网内部使用。公网IP是全球唯一的,使得任何网络上的设备都能通过它进行通信。本文将详细讨论...
在Web开发中,经常需要获取客户端的真实IP地址来进行一系列的操作,比如统计访问来源、进行地理定位、安全防护等。然而,在实际应用场景中,客户端请求往往经过了多级代理(如Apache、Squid等),这使得直接使用`...
### 使用Java获取访问者真实IP地址 在现代Web开发中,获取客户端的真实IP地址是非常重要的。这不仅可以用于统计分析、安全审计,还可以帮助提供更好的用户体验。然而,在通过代理服务器(如Apache、Squid等)转发...
本文将详细介绍如何通过Java Web应用中的JSP技术获取访问者的实际IP地址。 #### 一、问题背景 当客户端通过HTTP协议请求服务器资源时,服务器能够接收到客户端发送的请求头信息,其中包含了客户端的IP地址。但在...
在Java Web开发中,有时我们需要获取用户访问时的IP地址以及他们的地理位置信息,这在诸如数据分析、用户行为追踪或个性化推荐等场景下尤其重要。本文将详细讲解如何使用Java实现这一功能,特别是结合百度地图开放...
本文主要介绍了Java分布式IP限流和防止恶意IP攻击方案,通过示例代码详细介绍了限流和防止恶意IP攻击的实现方式。 一、分布式IP限流 分布式IP限流是分布式系统设计中经常提到的概念,在某些要求不严格的场景下,...
标题中的“java 代码 根据目标网址列出经过的路由IP和经过的位置”是指通过Java编程实现的一个功能,它能够追踪网络数据包从源到目标网址的路径,并显示出沿途经过的路由器IP地址以及对应的地理位置。这个功能在网络...
这样的库在Web应用、网络安全分析或者网络日志处理等领域非常有用,因为它能够帮助我们了解访问者的位置信息。 描述中提到的“可根据IP地址查询国家,地区,地址”是这个库的核心功能。它使用了某种数据结构或算法...
3. **JavaME教程**:这表明代码可能被设计为教学材料,帮助初学者逐步学习JavaME编程,每段代码都对应一个特定的教学点。 至于“简体版代码”,这可能意味着代码注释和文档是用简体中文编写的,适合中文用户阅读和...
在实际应用中,这样的IP查询工具可以用于网络安全监控,网站访问统计,或者任何需要获取用户大致地理位置的场景。通过Java实现,它可以在各种操作系统上运行,因为Java具有跨平台的特性。开发者可能需要了解Java基础...
12. **JDBC**:Java Database Connectivity是Java访问数据库的标准接口,通过它可以操作SQL数据库,实现数据的增删改查。 13. **Swing和JavaFX**:这两个是Java的GUI库,用于构建桌面应用程序,提供丰富的组件和...
在提供的压缩包文件"Java 实例 - 获取本机ip地址及主机名源代码+详细指导教程.rar"中,你应该能找到上述代码的实现以及详细的步骤说明,这对于初学者来说是一个很好的学习资源。通过实践和理解这些代码,你可以更好...
这个名为“100个Java经典编程实例源代码”的资源集合,为初学者和进阶者提供了丰富的学习材料,涵盖了Java语言的核心概念和技术。 首先,我们要理解Java语言的基础。Java是一种面向对象的语言,其三大特性——封装...
在这个方法中,我们可以获得HttpServletRequest和HttpServletResponse对象,从而可以获取用户的ip地址、请求的url等信息。 在我们的示例代码中,我们使用了ConcurrentHashMap来存储被限制的ip信息。在doFilter方法...
10. **设计模式**:Java的经典例题中会涉及常见的设计模式,如工厂模式、单例模式、观察者模式、装饰器模式等,这些都是软件开发中的经验总结,有助于提高代码复用和结构化。 通过深入学习和实践"Java经典例题代码...
Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...
代码范例列表 第1章 示例描述:本章演示如何开始使用JDK进行程序的开发。 HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载...
对于初学者,这个项目提供了从设计数据库、编写Java代码到部署运行的完整流程,有助于提升对Java Web开发的理解。通过分析源代码,可以学习到如何组织项目结构、如何使用框架进行开发,以及如何实现前后端交互等技能...