使用的这个方法不行
try {
InetAddress addr = InetAddress.getLocalHost();
String hostname = addr.getHostName();
System.out.println("Hostname: " + hostname);
} catch (UnknownHostException ex) {
System.out.println("Hostname can not be resolved");
}
该回答引用GPTᴼᴾᴱᴺᴬᴵ
当访问 http://192.168.74.1:8090/index 时,返回的计算机名是指部署了项目的服务器的计算机名,而不是访问者本地电脑的计算机名。
这是因为 HTTP 是一个客户端-服务器协议。当你在浏览器中访问一个 URL 时,浏览器会向该 URL 指定的服务器发送一个 HTTP 请求。服务器接收到请求后,处理该请求并返回响应。在这个过程中,浏览器和服务器之间进行了数据交换。
因此,当张三、李四和王五访问 http://192.168.74.1:8090/index 时,他们向同一个服务器发送了请求,该服务器会处理请求并返回计算机名。由于所有访问者都访问同一个 URL,他们都会得到相同的计算机名。
如果要获取访问者本地电脑的计算机名,可以使用客户端脚本语言(如 JavaScript)在浏览器中执行相应的脚本代码,获取本地计算机名并在页面中显示。但需要注意的是,这种方式需要浏览器支持执行客户端脚本,并且用户需要授权允许执行该脚本。
你的代码是服务端代码,需要获取到用户端硬件的信息,要么是js,要么是第三方插件