我应该捕获访问我的 Web 应用程序的客户端计算机的 IP 地址。谷歌搜索后,我发现了两种方法:
request.getRemoteAddr()
request.getHeader("X-FORWARDED-FOR")
但它们都不能保证返回客户端机器的实际 ip。另外,我应该使用struts1.2来实现相同的目的,因为该应用程序是在 struts1.2 中开发的。
有没有相同的struts类?
我正在使用以下代码:
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
ipAddress = request.getRemoteAddr();
}
但是当我从移动或无线设备访问应用程序时,该方法会request.getHeader("X-FORWARDED-FOR");
返回。null
结果,ip是从方法获得request.getRemoteAddr();
的问题是检索到的ip是私有的而不是公共
的,但我想要客户端的公共ip。