我没有使用Spring / GWT的网络应用程序,该应用程序使用Flash上传文件。
当我使用GWT发送ajax请求并尝试获取用户ip地址时,我获得了ipv4地址,例如:127.0.0.1
但是当我使用Flash上传文件(以及在同一Web应用程序上的发布请求)时,我得到了一个ipv6地址0:0:0:0:0:0:0:0:1
我使用相同的代码来获取用户ip:
ServletRequestAttributes att = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes(); att.getRequest().getRemoteAddr();
问题是我使用了一个签名,该签名使用ip地址来确保用户可以上传文件(由于使用Flash进行上传时会话丢失的错误),并且当我使用Ajax或通过Flash发布时,ip地址会更改。
有什么问题,如何获得相同的ip格式?
谢谢
您可以通过使用此标志启动服务器来修复它
-Djava.net.preferIPv4Stack=true