加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在GWT和Google App Engine中获取客户端的IP地址

发布时间:2020-12-14 05:20:00 所属栏目:Java 来源:网络整理
导读:我需要在GWT / GAE( Java)应用程序中捕获客户端的IP地址.由于GAE不支持全套java.net API,因此我无法执行下面的代码段代码.任何人都可以提出可靠的方法来达到同样的目 for (final EnumerationNetworkInterface en = NetworkInterface.getNetworkInterfaces();
我需要在GWT / GAE( Java)应用程序中捕获客户端的IP地址.由于GAE不支持全套java.net API,因此我无法执行下面的代码段代码.任何人都可以提出可靠的方法来达到同样的目
for (final Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
    final NetworkInterface intf = en.nextElement();
    for (final Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
        final InetAddress ip = enumIpAddr.nextElement();
        if (!ip.isLoopbackAddress() && !ip.isLinkLocalAddress() && !ip.isAnyLocalAddress()) {
                return ip.getHostAddress().toString();
        }
    }
}

对于Python版本,我们可以:

os.environ['REMOTE_ADDR']

要么

String ip = self.request.remote_addr;

但是什么是Java等价物?

解决方法

好的,我知道了.在应该扩展RemoteServiceServlet的Servlet中执行以下操作:
final String ip = getThreadLocalRequest().getRemoteAddr();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读