我需要在我的GWT/GAE(Java)应用程序中捕获客户端的IP地址。由于GAE不支持全套的java.net API,所以我不能做如下代码片段的代码。任何人都可以建议可靠的方式来实现相同?在GWT和Google App Engine中获取客户端IP地址
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等同?
这就是我在自己接受的答案显示 – Bostone 2013-06-21 18:44:43
看到后,并不意味着是放肆。只是想指出getRemoteAddr和getRemoteHost之间的区别。 – mlkammer 2013-08-06 08:16:29