【发布时间】:2023-04-04 02:30:01
【问题描述】:
我需要在我的 GWT/GAE (Java) 应用程序中捕获客户端的 IP 地址。由于 GAE 不支持全套 java.net API,因此我无法执行下面的 sn-p 之类的代码。任何人都可以提出实现相同目标的可靠方法吗?
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 等价物呢?
【问题讨论】:
标签: java google-app-engine gwt