我正在尝试开发一个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地址。
非常感谢。