Мне нужно захватить IP-адрес клиента в моем приложении GWT / GAE (Java). Поскольку GAE не поддерживает полный набор API-интерфейсов java.net, я не могу сделать такой код, как фрагмент кода ниже. Кто-нибудь может предложить надежный способ достижения того же самого?
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?