【发布时间】:2020-03-15 00:07:48
【问题描述】:
我正在尝试制作一个 Spring Web 应用程序,它将被多个设备(例如 Android 手机和 iPhone)请求。我需要识别发送请求的设备,以便在稍后阶段识别它。我如何在 java 中实现这一点?
示例场景:用户使用三星 A7 登录,而另一个用户使用 iPhone 8 登录。
我需要跟踪和存储设备的操作。我想我需要设备的用户每次都登录才能显示此相关设备执行的所有操作。我需要在这里识别每个请求的设备,还需要向用户显示所有登录的设备。
我试过用mac地址来实现这个,但我觉得效果不好。
当在 cmd "ipconfig/all" 上键入时,会出现以下列表,但是应该在所有这些列表中选择哪个物理地址??!!!!
我尝试使用此 java 代码获取 mac 地址,但发生 NullPointerException
InetAddress address = InetAddress.getByName(HttpRequestHelper.getRemoteAddress());
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
byte[] mac = ni.getHardwareAddress();
【问题讨论】:
-
您好,请向我们提供您自己已经尝试过的任何内容。您是否努力搜索任何相关信息?你发现了什么,没有发现什么?你到底想达到什么目的?请参阅创建minimal reproducible example 了解更多信息。 “识别请求设备以稍后识别它”是什么意思?请详细说明。
-
@Barrosy 谢谢你的回复,我编辑了我的问题可以帮助我吗?
-
首先,您似乎决定在java语言中使用spring框架。到目前为止,为了解决这个问题,你做了什么尝试?请分享任何 java 代码。你是说你试图使用mac地址,你是怎么做到的?如果您可以分享您尝试过的任何东西,我可能会提供帮助。也许我可以看出是什么阻止了你继续这项工作。
-
@Barrosy 好的,我已经编辑了我的问题并准确添加了我的问题
标签: java spring http web networking