我需要在我的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