可能重复:
如何获取客户端信息,例如操作系统和浏览器
servlet
当我在通过request
对象 中收到请求时,我想知道客户端机器操作系统名称
提前致谢
使用user-agent-utils库的示例:
public class SomeServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userAgentString = request.getHeader("User-Agent");
UserAgent userAgent = UserAgent.parseUserAgentString(userAgentString);
OperatingSystem os = userAgent.getOperatingSystem();
// Do stuff with os...
}
}
您可以在此处阅读有关 OperatingSystem 类的更多信息。
你可以在这里找到罐子。
使用用户代理 HTTP 标头。这是它在我的机器上的样子:
user-agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4
如您所见,它是一个自由格式的文本,因此您必须调查不同的用户代理并使用可能的正则表达式来处理它们。