`

http请求获取客户端IP

    博客分类:
  • java
 
阅读更多
public String getIpAddr(HttpServletRequest request) {  
 String ip = request.getHeader("x-forwarded-for");  
 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
  ip = request.getHeader("http_client_ip");  
 }  
 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
  ip = request.getRemoteAddr();  
 }  
 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.getHeader("HTTP_X_FORWARDED_FOR");  
 }  
 // 如果是多级代理,那么取第一个ip为客户ip   
 if (ip != null && ip.indexOf(",") != -1) {  
  ip = ip.substring(ip.lastIndexOf(",") + 1, ip.length()).trim();  
 }  
 return ip;  
}
分享到:
评论
1 楼 di1984HIT 2014-10-31  
写的很好~~

相关推荐

    获取客户端IP和地址

    可以通过外部Http请求获取客户端IP和地址

    java 获取客户端ip mac地址

    如果需要获取真实的客户端IP地址,还需要检查HTTP头部信息中的`X-Forwarded-For`字段。 #### 二、获取客户端 MAC 地址 获取客户端的MAC地址相对较为复杂,一般不推荐直接在Web应用中实现该功能。但在某些特定场景...

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

    当请求经过反向代理时,这个字段会包含原始客户端IP地址的信息。以下是一个简单的示例代码: ```java public String getRealIP(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for");...

    java获取客户端ip及mac地址

    为了获取客户端的真实 IP 地址,可以通过检查 HTTP 请求头中的 `X-Forwarded-For` 字段。这个字段通常由代理服务器添加,包含了原始客户端 IP 地址以及经过的所有代理服务器的 IP 地址列表。下面是一个示例代码: `...

    asp.net_web_获取客户端IP和MAC地址

    总的来说,获取客户端IP地址在ASP.NET中相对简单,而获取MAC地址则涉及更复杂的网络环境和用户隐私问题,通常不直接在Web应用中操作。开发者应遵循最小权限原则和尊重用户隐私,避免不必要的数据收集。

    .net获取客户端IP,Mac地址

    在.NET中,获取客户端IP地址通常通过HTTP请求的上下文来实现。当客户端发起请求时,服务器端可以通过以下方法获取: ```csharp using System.Net; // 获取客户端IP public string GetClientIP(HttpRequest request...

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

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

    获取客户端IP地址所需Jar包

    "获取客户端IP地址所需Jar包"这个主题,主要涉及的是在使用Apache Axis框架发布Web服务时,如何正确地获取客户端的网络地址。Apache Axis是一个开放源代码的SOAP栈,它提供了用于创建Web服务和客户端应用程序的工具...

    Java获取客户端真实IP地址

    Squid默认配置中`forwarded_for`选项为`on`,这意味着它会在HTTP请求中添加`X-Forwarded-For`字段。但如果将其设置为`off`,那么该字段将会被置为`unknown`,这将影响真实IP的正确获取。因此,在使用上述方法时,应...

    获取客户端真实IP(支持代理服务器)

    在这种情况下,原始的客户端IP地址信息被记录在HTTP请求头中的`X-Forwarded-For`字段里。 #### 三、解决方案 为了准确获取客户端的真实IP地址,我们可以采用以下几种方法: ##### 方法一:基本实现 首先,检查...

    获取客户端IP、MAC

    以下是一些关于如何在Java环境下获取客户端IP和MAC地址的知识点。 首先,获取客户端IP地址通常涉及到服务器端的编程。在Java中,可以通过`java.net`包中的`Socket`或`HttpServletRequest`类来获取。当客户端发起...

    asp.net获取客户端IP-用户名等信息

    2. **HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]**:这种方法同样可以从服务器变量中获取客户端IP,但与UserHostAddress不同的是,如果请求通过代理,它通常会返回代理服务器的IP。 3. **X-...

    用C#语言在VS2005中获取客户端ip,并和ip标准库进行比对

    首先,获取客户端IP地址是通过HTTP请求完成的。在C#中,我们可以使用`System.Web`命名空间中的`HttpRequest`类来获取这些信息。以下是一个简单的示例代码: ```csharp using System; using System.Web; public ...

    PHP 获取客户端IP

    因此,获取客户端IP并不是一项绝对可靠的实践,尤其是在涉及用户隐私的法规(如欧洲的GDPR)下。 在实际应用中,你可能还会遇到IPv6地址的情况,因为互联网正在逐渐过渡到IPv6。确保你的IP处理代码能够正确处理这两...

    JS获取客户端IP地址及MAC地址(转)

    在JavaScript中,获取客户端IP地址和MAC地址是一个相对复杂的过程,因为JavaScript的浏览器安全限制不允许直接访问客户端的MAC地址。然而,我们可以通过一些间接的方法来获取客户端的IP地址。在这个场景下,`...

    ASP.NET获取客户端IP地址_系统版本_浏览器版本

    在ASP.NET中,获取客户端IP地址是通过`HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]`来实现的。然而,当用户通过代理服务器访问时,这个方法可能不会返回实际的客户端IP,而是返回代理服务器的IP。...

    获取客户端IP函数详细做法

    ### 获取客户端IP函数详细做法 在Web开发中,获取客户端IP地址是一项常用的功能,它可用于统计网站访问者来源、防止恶意攻击等多种应用场景。本文将详细解析一个VBScript编写的用于获取客户端IP地址的函数。 #### ...

    ASP.NET 获取客户端IP和MAC地址的程序

    ### ASP.NET 获取客户端IP和MAC地址的技术解析 #### 一、引言 在现代网络环境中,获取客户端的IP地址和MAC地址是许多应用场景中的基本需求之一。例如,在网络安全监控、日志记录、地理位置追踪等方面都有着重要的...

    ASP.NET 获取客户端IP方法

    这段代码首先尝试从HTTP请求头的“X-FORWARDED-FOR”字段获取客户端IP地址。这个字段通常由代理服务器或负载均衡器添加,用来识别原始的客户端IP地址。如果这个字段存在且不为空,我们就认为获取到的是真实的客户端...

    IP地址HTTP请求工具类

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

Global site tag (gtag.js) - Google Analytics