我尝试使用
String userAgent=req.getHeader("user-agent");
以及以下
@GET
@Path("/get")
public Response addUser(@HeaderParam("user-agent") String userAgent) {
return Response.status(200)
.entity("addUser is called, userAgent : " + userAgent)
.build();
}
但我只需要,浏览器名称为chrome,firefox,IE.Please帮助,如果有人知道的话。
更新:得到答案
public String browser(@HeaderParam("user-agent") String userAgent){
UserAgent browserName = UserAgent.parseUserAgentString(userAgent);
String browser=browserName.toString();
System.out.println(browser)
}
答案 0 :(得分:2)
从用户代理字符串中获取信息有点像黑色艺术。最简单的可能是使用库来解析用户代理字符串并提取所需的信息。
我过去曾使用UADetector取得了不错的成绩,但毫无疑问其他图书馆也在那里。
以下示例来自UADetector documentation:
UserAgentStringParser parser = UADetectorServiceFactory.getResourceModuleParser();
ReadableUserAgent agent = parser.parse(request.getHeader("User-Agent"));
out.append("You're a <em>");
out.append(agent.getName());
out.append("</em> on <em>");
out.append(agent.getOperatingSystem().getName());
out.append("</em>!");