`
lambertsprite
  • 浏览: 11776 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

java 获取请求的ip地址

    博客分类:
  • java
 
阅读更多
import java.net.UnknownHostException;  
import javax.annotation.Resource;  
import javax.servlet.http.HttpServletRequest;  
import javax.xml.ws.WebServiceContext;  
import javax.xml.ws.handler.MessageContext;  
  
@Resource  
private WebServiceContext wsContext;    
/** 
* 获取请求来的ips  
* @param request 
* @return 
*/  
public String getIpAddr() {  
String ipAddress = null;  
MessageContext mc = wsContext.getMessageContext();  
HttpServletRequest request = (HttpServletRequest) (mc  
        .get(mc.SERVLET_REQUEST));  
ipAddress = request.getHeader("x-forwarded-for");  
if (ipAddress == null || ipAddress.length() == 0  
        || "unknown".equalsIgnoreCase(ipAddress)) {  
    ipAddress = request.getHeader("Proxy-Client-IP");  
}  
if (ipAddress == null || ipAddress.length() == 0  
        || "unknown".equalsIgnoreCase(ipAddress)) {  
    ipAddress = request.getHeader("WL-Proxy-Client-IP");  
}  
if (ipAddress == null || ipAddress.length() == 0  
        || "unknown".equalsIgnoreCase(ipAddress)) {  
    ipAddress = request.getRemoteAddr();  
          
    //这里主要是获取本机的ip,可有可无  
    if (ipAddress.equals("127.0.0.1")  
            || ipAddress.endsWith("0:0:0:0:0:0:1")) {  
        // 根据网卡取本机配置的IP  
        InetAddress inet = null;  
        try {  
            inet = InetAddress.getLocalHost();  
        } catch (UnknownHostException e) {  
            e.printStackTrace();  
        }  
        ipAddress = inet.getHostAddress();  
    }  
  
}  
  
// 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割  
if (ipAddress != null && ipAddress.length() > 15) { // "***.***.***.***".length()  
                                                    // = 15  
    if (ipAddress.indexOf(",") > 0) {  
        ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));  
    }  
}  
 //或者这样也行,对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割    
//return ipAddress!=null&&!"".equals(ipAddress)?ipAddress.split(",")[0]:null;         
return ipAddress;  
}  

 

分享到:
评论

相关推荐

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

    在Java编程中,获取IP地址是一项常见的任务,特别是在网络编程和服务器开发中。这个"java IP地址工具类"是为了解决这个问题而设计的。它提供了便捷的方法来获取和处理IP地址,尤其对于获取客户端IP地址在Web应用中至...

    java 获取请求ip及请求的地址(省市)

    java调用淘宝ip库,获取登录ip,以及根据ip获取登录地址信息,省,市

    java 获取客户端ip mac地址

    在Java Web开发中,有时我们需要获取客户端的IP地址甚至是MAC地址,以便进行安全验证、用户行为追踪等操作。本文将详细介绍如何通过Java来实现这一功能。 #### 一、获取客户端 IP 地址 获取客户端的IP地址通常在...

    java获取公网IP

    总结来说,Java获取公网IP地址主要依赖于网络请求和第三方服务的配合。`ExternalIpAddressFetcher.java` 类提供了一个简单的方法来实现这个功能,通过向Amazon AWS提供的公共IP检查服务发起HTTP请求,并解析返回的IP...

    java获取客户端ip及mac地址

    ### Java 获取客户端 IP 地址 在 Web 开发中,获取客户端 IP 地址是一项非常重要的功能,尤其是在需要记录用户活动、实现地理位置定位或者进行安全验证等场景下。Java 提供了多种方式来获取客户端的 IP 地址,其中...

    java获取ip地址

    ### Java获取IP地址知识点解析 在本篇文章中,我们将深入探讨如何使用Java语言来获取IP地址。这是一项在网络编程中非常基础且重要的技能,能够帮助开发者了解客户端或服务器的网络位置信息。以下是对给定文件中的...

    IP地址HTTP请求工具类

    获取本地IP地址,获取本地Host名称,获取Linux下的IP地址,获取用户真实IP地址,get/post请求 相应的工具类

    java实现根据ip地址获取地理位置的代码分享

    在Java编程中,有时我们需要根据用户的IP地址获取其所在地理位置的信息,这在网站统计、个性化推荐或者安全防护等方面都有重要作用。本篇文章将分享一个利用Java实现根据IP地址获取地理位置的简单示例,主要使用了QQ...

    获取Ip地址的Java工具类

    通过该工具类可以获得请求的IP地址,适用于后台管理系统的信息统计。

    java中通过request获取IP以及MAC地址.java

    获取用户请求IP地址 根据IP地址获取mac地址

    Java获取客户端真实IP地址

    ### Java获取客户端真实IP地址详解 在Web开发中,获取客户端的真实IP地址是一个常见的需求,尤其是在需要进行地理位置定位、安全审计、流量统计等场景下。然而,在存在反向代理服务器的环境中,传统的`request....

    java 伪造http请求ip地址的方法

    在 Java 中伪造 HTTP 请求 IP 地址是指通过修改 HTTP 请求头中的 IP 地址信息,从而使得服务器端能够获取到伪造的 IP 地址。这种方法可以应用于各种需要伪造 IP 地址的场景,例如在第三方系统接口对接时,需要将调用...

    idea,java获取ip地址

    当我们构建一个基于Servlet的Web应用程序时,有时需要获取访问用户的真实IP地址,这在处理用户请求、日志记录或者实现地理位置相关的功能时尤为关键。 Servlet是Java服务器端的一种组件,它扩展了Web服务器的功能,...

    根据IP地址获取经纬度

    标题中的“根据IP地址获取经纬度”是指在Java编程环境下,通过特定的库或API来实现从IP地址解析出地理位置的经纬度坐标。这通常涉及到网络编程和地理信息系统(GIS)的技术。描述中提到的Java工程是实现这个功能的一...

    java获取ipjava获取ipjava获取ipjava获取ipjava获取ip

    在Java编程中,获取IP...Java获取IP地址的方法多样,具体选择哪种取决于你的应用场景。在实际项目中,还需要考虑IPv4与IPv6的兼容性、网络环境的复杂性等因素。理解这些基础知识对于编写健壮的网络应用程序至关重要。

    根据请求的真实IP地址,获取请求的位置信息.txt

    根据用户的请求相应的真实IP地址,获取请求的位置信息,包括如何获取用户的真实IP地址,以及根据真实ip获取位置信息

    java实现根据ip地址获取地理位置

    在Java编程中,根据IP地址获取地理位置是一项常见的需求,尤其在大数据分析、用户行为追踪或者安全防护等场景中。本文将介绍如何利用新浪和淘宝的API接口来实现这一功能。 首先,我们来看新浪的接口实现。新浪提供...

    java获取本机IP地址

    在Java编程中,获取本机IP地址是一项常见的任务,它涉及到网络编程的基础知识。本机IP地址是指设备连接到网络时所使用的唯一标识符。在Java中,有多种方法可以获取本机IP地址,但主要涉及到`java.net`包中的类和方法...

    java非常强的获取客户端真实IP的两种方法

    ### Java获取客户端真实IP的两种方法详解 #### 一、问题背景 在Web开发中,经常需要获取客户端的真实IP地址来进行一系列的操作,比如统计访问来源、进行地理定位、安全防护等。然而,在实际应用场景中,客户端请求...

    用Java来获取访问者真实的IP地址

    ### 使用Java获取访问者真实IP地址 在现代Web开发中,获取客户端的真实IP地址是非常重要的。这不仅有助于网站统计分析,还可以用于安全控制、地域限制等功能。然而,在使用如Apache、Squid等反向代理服务器的情况下...

Global site tag (gtag.js) - Google Analytics