java 解析http user-agent 信息
2016-07-02 18:02
716 查看
解析http user-agent信息,使用uasparser-0.6.1.jar和jregex-1.2_01.jar两个包
运行结果:
User-Agent信息通过浏览器自带工具可查看:
如下使用的是chrome浏览器
程序中static块,在初始化的时候被执行,初始化情况如下:
1.当创建某个类的新实例时;
2.当调用某个类的静态方法时;
3.当使用某个类或接口的静态字段时;
4.当调用Java API中的某些反射方法时,比如类Class中的方法,或者java.lang.reflect中的类的方法时;
5.当初始化某个子类时;
6.当虚拟机启动某个被标明为启动类的类(main方法);
import cz.mallat.uasparser.OnlineUpdater; import cz.mallat.uasparser.UASparser; import cz.mallat.uasparser.UserAgentInfo; import java.io.IOException; /** * Created by Edward on 2016/7/1. */ public class UserAgentUtil { static UASparser uasParser = null; // 初始化uasParser对象 static { try { uasParser = new UASparser(OnlineUpdater.getVendoredInputStream()); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { String str = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36"; System.out.println(str); try { UserAgentInfo userAgentInfo = UserAgentUtil.uasParser.parse(str); System.out.println("操作系统名称:"+userAgentInfo.getOsFamily());// System.out.println("操作系统:"+userAgentInfo.getOsName());// System.out.println("浏览器名称:"+userAgentInfo.getUaFamily());// System.out.println("浏览器版本:"+userAgentInfo.getBrowserVersionInfo());// System.out.println("设备类型:"+userAgentInfo.getDeviceType()); System.out.println("浏览器:"+userAgentInfo.getUaName()); System.out.println("类型:"+userAgentInfo.getType()); } catch (IOException e) { e.printStackTrace(); } } }
运行结果:
User-Agent信息通过浏览器自带工具可查看:
如下使用的是chrome浏览器
程序中static块,在初始化的时候被执行,初始化情况如下:
1.当创建某个类的新实例时;
2.当调用某个类的静态方法时;
3.当使用某个类或接口的静态字段时;
4.当调用Java API中的某些反射方法时,比如类Class中的方法,或者java.lang.reflect中的类的方法时;
5.当初始化某个子类时;
6.当虚拟机启动某个被标明为启动类的类(main方法);
相关文章推荐
- 使用 Apache HttpClient
- Retrofit2.0 或OKHttp 日志log
- Java 调用 Azure HTTPS API 证书问题
- monitorix(linux)系统和网络监控公工具
- TCP的超时与重传
- RHCA442学习笔记-Unit13网络性能调整
- 计算机网络--网络层
- 【GOF23设计模式】_观察者模式_广播机制_消息订阅_网络游戏对战原理_自带类与接口JAVA251-252
- HttpServletResponse类
- 【android tools】内存、网络、界面性能响应优化的工具
- HTTP与HTTPS对访问速度(性能)的影响
- 使用C#开发HTTP服务器系列之更简单的实现方式
- http://my.oschina.net/u/1177694/blog/491834
- 洛谷P1038 神经网络==codevs1088 神经网络
- springbootboot-HttpServletRequest.getInputStream() 获取post内容
- TCP /IP 协议-IP网际协议
- TCP建立连接与释放连接
- 从网络下载音频资源的简便代码
- tcp的简单介绍
- 聊聊Socket、TCP/IP、HTTP、FTP及网络编程