`

IP从HttpServletRequet中获取

    博客分类:
  • java
 
阅读更多
	private  String getIpAddr(final HttpServletRequest request)   {  
	    String ipString = request.getHeader("X-Forwarded-For");  
	    if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {  
	    	ipString = request.getHeader("X-Real-IP");  
	    }  
	    if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {  
	        ipString = request.getHeader("Proxy-Client-IP");  
	    }  
	    if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {  
	        ipString = request.getHeader("WL-Proxy-Client-IP");  
	    }  
	    if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {  
	        ipString = request.getRemoteAddr();  
	    }  
	      
	    // 多个路由时,取第一个非unknown的ip  
	    final String[] arr = ipString.split(",");  
	    for (final String str : arr) {  
	        if (!"unknown".equalsIgnoreCase(str)) {  
	            ipString = str;  
	            break;  
	        }  
	    }  
	      
	    return ipString;  
	}

 

分享到:
评论

相关推荐

    获取本地IP 获取本地IP 获取本地IP

    获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP获取本地IP...

    获取IP 获取IP 获取IP 获取IP 获取IP 获取IP 获取IP C#C#C#C#C#C#

    在IT行业中,获取IP地址是一项基础且重要的任务,特别是在网络编程和系统开发中。C#是一种广泛用于构建Windows应用程序、Web服务以及各种网络应用的面向对象的编程语言,它提供了丰富的API来处理网络相关的任务,...

    IpUtil工具类--通过request获取IP,通过IP获取地址

    IpUtil工具类--通过request获取IP,通过IP获取地址(需要联网,调用淘宝的IP库)。使用场景:在网站开发记录用户增删改查日志的时候,往往需要记录操作人的IP地址,来准确的生成操作日志记录等

    获取内网ip地址3种方法

    当你在Delphi或C++Builder等使用Indy的开发环境中,可以将TIdIPWatch控件添加到界面上,然后通过其属性或事件来获取当前设备的内网IP地址。例如,你可以监听TIdIPWatch.OnChange事件,当IP地址发生变化时,这个事件...

    qt 获取本机的公网IP、内网IP、网关

    在这个场景中,我们将讨论如何使用QT来获取本机的公网IP、内网IP以及网关。 首先,让我们了解一下这些概念: 1. 公网IP(Public IP):公网IP是互联网上的唯一标识,用于不同网络间的通信。通常由ISP(Internet ...

    idea,java获取ip地址

    以下是如何在IntelliJ IDEA中使用Java和Servlet来获取用户IP的方法: 1. **配置Servlet**:首先,在IntelliJ IDEA中创建一个Java Web项目,然后添加Servlet类。继承`javax.servlet.http.HttpServlet`,并在`doGet`...

    C#(WPF)获取本地IP地址 C#编程

    在C#编程中,Windows Presentation Foundation (WPF)是一个用于构建桌面应用的框架,而获取本地IP地址是网络编程中的常见需求。这篇文章将详细介绍如何在C# WPF应用中实现这个功能,适合初学者学习。 首先,我们...

    Get Local IP (VB6.0获取本地IP)

    通过以上步骤,你就能够在VB6.0环境中成功地获取本地IP地址。在开发网络应用程序时,这个功能非常实用,可以帮助你更好地管理和控制网络通信。同时,理解如何使用API函数也能提升你的编程技能。

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

    通常,类会有一个静态方法,比如`getLocalHostIp()`用于获取本地IP,另一个静态方法`getClientIp(HttpServletRequest request)`用于从HTTP请求中获取客户端IP。 为了更好地理解和使用`IpUtils`,我们需要阅读并理解...

    获取本机IP和主机名方法

    在Windows系统中,你可以通过命令行工具`cmd`来获取本机的IP和主机名。输入以下命令: 1. 获取主机名: ``` hostname ``` 2. 获取IP地址: ``` ipconfig ``` 若想查看特定接口的IP,可以加上接口名或索引: ``` ...

    获取本地ip,mac地址

    在IT行业中,网络通信是不可或缺的一部分,而获取设备的IP和MAC地址是网络通信的基础。本文将详细讲解如何使用C#编程语言来实现获取本地IP和MAC地址的功能。 首先,让我们了解一下IP和MAC地址的基本概念。IP地址...

    java获取公网IP

    在IT行业中,公网IP(Public IP)是指互联网上唯一标识一台设备的IP地址,与之相对的是私网IP(Private IP),后者在局域网内部使用。公网IP是全球唯一的,使得任何网络上的设备都能通过它进行通信。本文将详细讨论...

    代理ip池(自动采集ip地址 从网站获取ip地址,检测是否可用,并实时更新,存入数据库中)

    代理ip池(自动采集ip地址 从网站获取ip地址,检测是否可用,并实时更新,存入数据库中)

    C# 通过IP或计算机名 获取信息

    在C#中,可以使用`System.Net.NetworkInformation`命名空间中的`Ping`类和`IPAddress`类来获取本地或远程计算机的IP地址。 - 例如,`Ping`类的`Send`方法可以用来向指定计算机发送一个ICMP回显请求,并返回`...

    获取本机IP地址类

    在IT行业中,网络编程是不可或缺的一部分,而获取本机IP地址是其中的基础操作。这篇文本将详细介绍如何在跨平台环境中,特别是在使用Qt框架时,获取本机的IP地址信息。标题提到的“获取本机IP地址类”通常是指一个...

    获取主机公网IP

    在IT行业中,获取主机公网IP是一项基础且重要的任务,它涉及到网络通信和远程访问等多个领域。公网IP(Public IP)是互联网上唯一标识一个设备的地址,与之相对的是私网IP(Private IP),通常在局域网内部使用。...

    Qt获取外网IP地址代码

    在Qt开发中,获取外网IP地址是一项常见的需求,特别是在构建网络应用时,可能需要知道设备的公网IP以便于远程通信。Qt库提供了一系列的网络功能,包括TCP/IP通信,使得开发者可以方便地处理网络相关的任务。下面我们...

    MFC获取ip端口 网络监视器,获取目标ip

    在这个主题中,我们将深入探讨如何利用MFC获取IP端口,以及创建网络监视器来获取目标IP和进程的端口信息。 1. **MFC中的网络编程**: MFC并没有直接提供网络编程的类,但它可以通过封装Windows API函数如...

    pb获取ip地址/mac地址

    标题中的"pb获取ip地址/mac地址"指的是在PowerBuilder(简称pb)环境下获取计算机的IP地址和MAC地址。PowerBuilder是一种流行的.NET和Java应用程序开发工具,尤其适合于创建数据库驱动的应用程序。在这个场景中,...

    获取手机ip

    对于应用程序开发者而言,获取IP地址主要通过编程接口,例如Android中的`java.net.InetAddress`类。 在Android应用中,获取手机IP地址可以通过以下步骤实现: 1. **权限请求**: 在AndroidManifest.xml中添加`...

Global site tag (gtag.js) - Google Analytics