Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 识别Http请求设备_Java_Spring_Http_Web_Networking - Fatal编程技术网

Java 识别Http请求设备

Java 识别Http请求设备,java,spring,http,web,networking,Java,Spring,Http,Web,Networking,我正在尝试制作一个SpringWeb应用程序,它将被多个设备(例如Android手机和iPhone)请求。我需要识别发送请求的设备,以便在以后的阶段识别它。我如何在java中实现这一点 一个示例场景:用户使用三星A7登录,另一个用户使用iPhone 8登录 我需要跟踪和存储设备的操作。我想我需要设备的用户每次登录,以便显示此相关设备执行的所有操作。我需要在这里识别每个请求的设备,并且我需要向用户显示所有登录的设备 我曾尝试用mac地址来实现这一点,但我认为这是无效的 当键入cmd“ipconfi

我正在尝试制作一个SpringWeb应用程序,它将被多个设备(例如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();

您是在使用本机移动应用程序,还是您的应用程序只是一个网站

无论如何,唯一的方法是识别用户代理头以了解设备,例如,您可以使用主要是唯一id的设备令牌推送地址。
如果您只是一个网站,您可以使用生成的id或随机id存储设备,并将其保存到您的数据库和浏览器cookie中

Hi,请向我们提供您自己已经尝试过的任何内容。你有没有努力寻找相关信息?你发现了什么,没有发现什么?你到底想达到什么目的?有关详细信息,请参阅创建。您所说的“识别请求设备以便以后识别”是什么意思?请详细说明。@Barrosy谢谢您的回复,我编辑了我的问题,您能帮我吗?首先,您似乎决定在java语言中使用spring框架。到目前为止,为了解决这个问题,你做了哪些尝试?请共享任何java代码。你是说你试图使用mac地址,你是怎么做到的?如果你能分享你所做的一切,我也许能帮上忙。也许我能看出是什么阻止了你继续这项工作。@Barrosy ok我已经编辑了我的问题,并添加了我的问题所在。你提供的图像中显示的信息列表只是显示了本地机器可以检测到的网络设备列表,因为这些设备安装在本地机器上。如果要获取MAC地址,请输入
getmac/v/fo list
。要获取Java中的MAC地址,您可以通过调用所述的
NetworkInterface
类来获取该地址。您可以使用
.getHardwareAddress()
方法获取该cookie。但cookie也可以从浏览器中删除。google如何识别您用于登录的设备?google如何识别本机应用程序和用户代理中的设备。在设备列表中,如果通过浏览器登录,每个设备都有一个不同的令牌保存在客户端cookie中,如果在本机应用中连接,则保存在应用中。因此,他们从保存的令牌中识别出设备的唯一性