小编Sam*_*han的帖子

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

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

请不要将此视为重复问题,因为我尝试了stackoverflow中可用的所有可能答案.

以下是我的代码到目前为止:

1)

String ipAddress =  request.getRemoteAddr();
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我获得了"默认网关地址"(147.120.1.5).不是我的机器IP地址(174.120.100.17).

2)

String ipAddress = request.getHeader("X-FORWARDED-FOR");  
   if (ipAddress == null) {  
       ipAddress = request.getRemoteAddr();  
   } 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我获得了"默认网关地址"(147.120.1.5).不是我的机器IP地址(174.120.100.17).

3)

InetAddress IP=InetAddress.getLocalHost();
System.out.println(IP.getHostAddress());
Run Code Online (Sandbox Code Playgroud)

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

我在147.120.100.17中的IP地址.现在我不知道如何获取真正的客户端IP地址.请回答.

非常感谢你.

java ip servlets

23
推荐指数
2
解决办法
6万
查看次数

标签 统计

ip ×1

java ×1

servlets ×1