根据request获取IP的方式:
public static String getIpAddr(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();
}
return ip;
}
注意:当访问地址为localhost时 地址格式为 0:0:0:0:0:0:1
访问地址写为127.0.0.1时正常
分享到:
相关推荐
IpUtil工具类--通过request获取IP,通过IP获取地址(需要联网,调用淘宝的IP库)。使用场景:在网站开发记录用户增删改查日志的时候,往往需要记录操作人的IP地址,来准确的生成操作日志记录等
在上述代码中,`HttpServletRequest`的`getRemoteAddr()`方法用于获取客户端的IP地址。然而,如果应用部署在反向代理服务器(如Nginx)后,这个方法可能返回的是代理服务器的IP,而非实际用户的IP。这时,我们可以...
获取用户请求IP地址 根据IP地址获取mac地址
### 非request方式获取IP地址 #### 1. 方法概述 本示例中的`getIp()`方法采用Java标准库中的`java.net.InetAddress`类来获取本地主机的IP地址。这种方法避免了使用HTTP请求或套接字连接所带来的复杂性,提供了一种...
以上代码首先获取当前的`FacesContext`实例,然后从中得到`HttpServletRequest`对象,并调用其`getRemoteAddr()`方法获取客户端的IP地址。 需要注意的是,`getRemoteAddr()`方法返回的是客户端的IP地址,如果客户端...
然而,在实际应用场景中,客户端请求往往经过了多级代理(如Apache、Squid等),这使得直接使用`request.getRemoteAddr()`方法获取到的IP地址并不是客户端的真实IP,而是代理服务器的IP地址。 例如,在使用Apache或...
JSP是Java的一种动态网页技术,可以通过内置的`<%= request.getRemoteAddr() %>`表达式来获取客户端的IP地址。然而,由于没有提供具体的文件内容,我们无法给出详细的代码分析。 总之,获取IP地址是网络编程的基础...
然而,在使用如Apache、Squid等反向代理服务器的情况下,直接使用`request.getRemoteAddr()`获取到的往往是代理服务器自身的IP地址,而不是客户端的真实IP地址。 #### 获取客户端真实IP的基本原理 在不使用反向...
2. **获取客户端IP地址**:在Web应用中,服务器需要区分每个客户端,`IpUtils`可能会有方法处理`HttpServletRequest`对象,从HTTP请求头(如`X-Forwarded-For`或`RemoteAddr`)中解析出真实客户端的IP地址。...
在故障描述中,我们可以看到,LG P350 手机在连接 Wi-Fi 网络时,总是停留在“正在从 [SSID 名称] 获取 IP 地址”,然后获取失败,自动断开。通过反编译和调试,我们发现了 DHCP 获取 IP 时的权限问题。 通过检查 ...
在Controller类获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用...
### ASP.NET 获取客户端IP地址的方法详解 在ASP.NET开发中,获取客户端的IP地址是一项非常基础但又极其重要的任务。特别是在需要记录用户访问日志、实施地理位置相关的功能(如显示本地化内容)、以及进行安全控制...
2. **获取IP地址**:`HttpServletRequest`对象有一个`getRemoteAddr()`方法,它返回客户端的IP地址。然而,如果应用运行在反向代理服务器(如Nginx)后,这个方法可能会返回代理服务器的IP。因此,我们需要检查`X-...
在处理网络故障时,用户无法获取IP地址是一个常见问题,尤其涉及到DHCP(Dynamic Host Configuration Protocol)客户端无法从DHCP服务器获取IP地址的情况。DHCP协议使得网络设备能够动态地从服务器获取IP地址配置...
本文将详细介绍几种在.NET环境中获取客户端主机名和IP地址的方法。 #### 一、ASP.NET内置对象获取 在ASP.NET中,可以利用内置对象来获取客户端的信息。主要包括以下几种方法: 1. **Page.Server.MachineName**:...
然而,在存在反向代理服务器的环境中,传统的`request.getRemoteAddr()`方法可能无法直接获取到客户端的真实IP地址。这是因为当请求经过反向代理(如Apache、Squid等)后,原始的IP地址会被代理服务器所替代,导致...
Java根据Request获取客户端IP是指在Java Web开发中获取客户端的IP地址,以便进行相应的处理和分析。在JSP中,获取客户端IP地址的方法是使用request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是,如果...
3. **DHCP Request**:客户端从接收到的Offer消息中选择一个服务器,并向该服务器发送Request消息,请求提供IP地址等信息。 4. **DHCP Acknowledge**:服务器确认客户端的请求,并发送Acknowledge消息,其中包含了...
在没有使用反向代理服务器的情况下,通过HttpServletRequest对象的`getRemoteAddr()`方法可以直接获取到客户端的IP地址。然而,当网络环境中存在Apache、Squid这样的反向代理软件时,这种方法就不再有效,因为它返回...
标题提到的"asp获取IP地址的两种方法",实际上涉及到如何处理直接连接和通过代理服务器访问的情况。 首先,最基础的方法是使用`Request.ServerVariables("REMOTE_ADDR")`。这个内置变量在ASP中用于获取客户端的IP...