关于获取request中的客户信息(浏览器和操作系统)

咱们系统中的在线人员管理,需要展示到用户的操作系统和浏览器信息。

一百度就知道使用UserAgentUtils-1.2.4.jar这个工具类。

下面是Pom的依赖:


    eu.bitwalker
    UserAgentUtils
    1.20
    

代码如下:

UserAgent userAgent = UserAgent.parseUserAgentString(req.getHeader("User-Agent"));   //req就是request请求
Browser browser = userAgent.getBrowser();  //获取浏览器信息 
OperatingSystem os = userAgent.getOperatingSystem(); //获取操作系统信息
StringBuffer userInfo = new StringBuffer();
userInfo.append("操作系统:"+os.toString()+" 浏览器:"+browser.toString());

可能有的同学会问到问什么不直接用String Agent = request.getHeader("User-Agent"); 

这个确实可以获取到浏览器和操作系统的信息,下面也放一下代码,可是这只有IE是可行的,其他浏览器会出现各种的小问题。

String Agent = request.getHeader("User-Agent");   
StringTokenizer st = new StringTokenizer(Agent,";");  
st.nextToken();  
//得到用户的浏览器名  
String browser = st.nextToken();  
System.out.println("浏览器  "+browser);  
//得到用户的操作系统名  
String os = st.nextToken();  
System.out.println("os  "+os);  
//获得客户端的IP地址  
String ip = "";  
try {  
    ip = InetAddress.getLocalHost().getHostAddress(); //ip 地址  
} catch (UnknownHostException e) {  
    e.printStackTrace();  
}  
System.out.println("ip   "+ip); 


你可能感兴趣的:(Java开发)