Grails查找会话用户的公共IP地址

Was*_*sim 4 grails

我正在使用grails,我想找到会话用户的公共IP,以便我可以找到位置国家/地区.

我在用:

InetAddress.getLocalHost().getHostAddress()
Run Code Online (Sandbox Code Playgroud)

获取IP但问题是它给了我私有IP即192.168.XX这是没用的.

Thanx提前

Nie*_*els 6

你只需要使用吗?

InetAdress.getHostAddress()
Run Code Online (Sandbox Code Playgroud)

但你可以使用这个请求吗?

request.getRemoteAddr()
Run Code Online (Sandbox Code Playgroud)

在会话中,您也可以使用

String ipAddr = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes())
       .getRequest().getRemoteAddr();
Run Code Online (Sandbox Code Playgroud)

  • @Charsee您正在查看在本地计算机上运行的站点是吗?您通过本地主机连接.从另一台计算机查看网站时,请尝试查看`request.remoteAddr`的输出... (3认同)