如何在Java HttpServletRequest中获取客户端IP地址

我正在尝试开发一个Java Web应用程序(Servlet),该服务器需要获取客户端IP地址。

String ipAddress =  request.getRemoteAddr();

在大多数情况下,我会得到“默认网关地址”(147.120.1.5)。不是我的机器IP地址(174.120.100.17)。

String ipAddress = request.getHeader("X-FORWARDED-FOR");  

if (ipAddress == null) {

ipAddress = request.getRemoteAddr();

}

在大多数情况下,我会得到“默认网关地址”(147.120.1.5)。不是我的机器IP地址(174.120.100.17)。

InetAddress IP=InetAddress.getLocalHost();

System.out.println(IP.getHostAddress());

在这种情况下,我获得了服务器IP地址(147.120.20.1)。

我的IP地址为147.120.100.17。现在,我不知道如何获取真实的客户端IP地址。

非常感谢你。

回答:

试试这个

String ipAddress = request.getHeader("X-FORWARDED-FOR");  

if (ipAddress == null) {

ipAddress = request.getRemoteAddr();

}

参考:http :

//www.mkyong.com/java/how-to-get-client-ip-address-in-

java/

以上是 如何在Java HttpServletRequest中获取客户端IP地址 的全部内容, 来源链接: utcz.com/qa/425219.html

回到顶部