我正在尝试收集建筑物的 mac 地址,并且我已经使用 Vaadin 6 创建了一个 Web 应用程序(该应用程序具有其他功能,所以我必须坚持使用 vaadin)。
问题是,我希望我的用户只插入他的名字,并让我自动获取他的 mac 地址,但问题是我不知道该怎么做。
我在用
ip = InetAddress.getLocalHost();
mac = ip.getHostAddress();
问题是这段代码返回我自己的服务器 ip 和 mac。
那么问题来了,如何获取客户端的mac地址??
另外,如果我能获得本地 ip 就更好了,但首先我需要 mac。
非常感谢任何帮助。
最佳答案
servlet 中客户端的 IP 地址你可以这样得到 -
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
// Proxy
String userIpAddress = httpServletRequest.getHeader("X-Forwarded-For");
if(userIpAddress == null) {
userIpAddress = request.getRemoteAddr();
}
在Vaadin有类WebBrowser , 你可以使用它 -
WebBrowser browser = (WebBrowser) getWindow().getTerminal();
String userIpAddress = browser.getAddress();
发件人的 MAC 地址随着帧通过路由器的次数而变化,您将始终收到网络网关的 MAC 地址。
关于java - 从客户端获取mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19551741/