我有一个 java spring MVC
Web 应用程序,我正在尝试获取正在访问该应用程序的客户端计算机的 IP 地址。我尝试了下面所示的代码,
InetAddress addr = InetAddress.getLocalHost();
String ipAddr = addr.getHostAddress();
但这会返回本地主机的 IP 地址。 我还尝试了一些在网上找到的其他建议,如下所示:
String remoteAddr = "";
if (request != null) {
remoteAddr = request.getHeader("X-FORWARDED-FOR");
if (remoteAddr == null || "".equals(remoteAddr)) {
remoteAddr = request.getRemoteAddr();
}
}
这也没有提供正确的 IP 地址。我也尝试过以下方法,但没有任何效果对我有用: https://www.mkyong.com/java/how-to-get-client-ip-address-in-java/
what is the right way to get request's ip
没有给我正确的 IP 地址。有没有任何解决方案可以让我尝试获取正在访问我的应用程序的计算机的正确 IP 地址。
最佳答案
您必须从请求来源处读取请求,试试这个
public void readIp(HttpServletRequest request,HttpServletResponse response){
String ip = request.getRemoteAddr();
System.out.println("ip: "+ip);
}
关于java - 在Spring MVC中获取客户端机器的IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43995730/