如何在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