如何获取客户端PC名称?
How to get the client PC name?
在我的项目中,我想获取客户端用户的PC名称
但是我使用的方法只是给我服务器的 PC 名称:
System.get(user.name)
抱歉不能直接
您最好的选择是 User-Agent header。你可以在JSP或Servlet中这样得到它,
String userAgent = request.getHeader("User-Agent");
header 看起来像这样,
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.13) Gecko/2009073021 Firefox/3.0.13
提供浏览器的详细信息。但是,它几乎是自由格式,因此很难破译每一个格式。您只需要弄清楚您将支持哪些浏览器并为每个浏览器编写解析器。当您尝试识别浏览器的版本时,请始终先检查较新的版本。例如,为了向后兼容,IE6 user-agent 可能包含 IE5。如果你先检查IE5,那么IE6也会被归类为IE5。
您可以从该网站获得所有 user-agent 值的完整列表,
使用User-Agent,您可以知道浏览器的确切版本。你可以在 OS 上得到一个很好的想法,但你可能无法区分相同 OS 的不同版本,例如 Windows NT 和 2000 可能使用相同的 User-Agent.
记住客户端可能位于代理后面的范围
一个聪明的想法是使用 javascript 并通过 ajax 调用
发送信息
浏览器、操作系统、屏幕颜色、屏幕分辨率、Flash 版本和 Java 支持都应该可以从 JavaScript 中检测到(也许还有更多)。但是,至少在所有浏览器中都不可能使用计算机名称。
您可以使用 IE 'sometimes' 完成此操作,因为我已经为仅使用 IE 的 Intranet 上的内部应用程序完成了此操作。尝试以下操作:
function GetComputerName()
{
try
{
var network = new ActiveXObject('WScript.Network');
// Show a pop up if it works
alert(network.computerName);
}
catch (e) { }
}
在我的项目中,我想获取客户端用户的PC名称 但是我使用的方法只是给我服务器的 PC 名称:
System.get(user.name)
抱歉不能直接
您最好的选择是 User-Agent header。你可以在JSP或Servlet中这样得到它,
String userAgent = request.getHeader("User-Agent");
header 看起来像这样,
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.13) Gecko/2009073021 Firefox/3.0.13
提供浏览器的详细信息。但是,它几乎是自由格式,因此很难破译每一个格式。您只需要弄清楚您将支持哪些浏览器并为每个浏览器编写解析器。当您尝试识别浏览器的版本时,请始终先检查较新的版本。例如,为了向后兼容,IE6 user-agent 可能包含 IE5。如果你先检查IE5,那么IE6也会被归类为IE5。
您可以从该网站获得所有 user-agent 值的完整列表,
使用User-Agent,您可以知道浏览器的确切版本。你可以在 OS 上得到一个很好的想法,但你可能无法区分相同 OS 的不同版本,例如 Windows NT 和 2000 可能使用相同的 User-Agent.
记住客户端可能位于代理后面的范围
一个聪明的想法是使用 javascript 并通过 ajax 调用
发送信息浏览器、操作系统、屏幕颜色、屏幕分辨率、Flash 版本和 Java 支持都应该可以从 JavaScript 中检测到(也许还有更多)。但是,至少在所有浏览器中都不可能使用计算机名称。
您可以使用 IE 'sometimes' 完成此操作,因为我已经为仅使用 IE 的 Intranet 上的内部应用程序完成了此操作。尝试以下操作:
function GetComputerName()
{
try
{
var network = new ActiveXObject('WScript.Network');
// Show a pop up if it works
alert(network.computerName);
}
catch (e) { }
}