• java 解析http user-agent 信息


    解析http user-agent信息,使用uasparser-0.6.1.jar和jregex-1.2_01.jar两个包

     1 import cz.mallat.uasparser.OnlineUpdater;
     2 import cz.mallat.uasparser.UASparser;
     3 import cz.mallat.uasparser.UserAgentInfo;
     4 
     5 
     6 import java.io.IOException;
     7 
     8 /**
     9  * Created by Edward on 2016/7/1.
    10  */
    11 public class UserAgentUtil {
    12 
    13     static UASparser uasParser = null;
    14 
    15     // 初始化uasParser对象
    16     static {
    17         try {
    18             uasParser = new UASparser(OnlineUpdater.getVendoredInputStream());
    19         } catch (IOException e) {
    20             e.printStackTrace();
    21         }
    22     }
    23 
    24     public static void main(String[] args)
    25     {
    26         String str = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36";
    27         System.out.println(str);
    28         try {
    29             UserAgentInfo userAgentInfo = UserAgentUtil.uasParser.parse(str);
    30             System.out.println("操作系统名称:"+userAgentInfo.getOsFamily());//
    31             System.out.println("操作系统:"+userAgentInfo.getOsName());//
    32             System.out.println("浏览器名称:"+userAgentInfo.getUaFamily());//
    33             System.out.println("浏览器版本:"+userAgentInfo.getBrowserVersionInfo());//
    34             System.out.println("设备类型:"+userAgentInfo.getDeviceType());
    35             System.out.println("浏览器:"+userAgentInfo.getUaName());
    36             System.out.println("类型:"+userAgentInfo.getType());
    37 
    38         } catch (IOException e) {
    39             e.printStackTrace();
    40         }
    41     }
    42 }

    运行结果:

     

    User-Agent信息通过浏览器自带工具可查看:

    如下使用的是chrome浏览器

    程序中static块,在初始化的时候被执行,初始化情况如下:

    1.当创建某个类的新实例时;
    2.当调用某个类的静态方法时;
    3.当使用某个类或接口的静态字段时;
    4.当调用Java API中的某些反射方法时,比如类Class中的方法,或者java.lang.reflect中的类的方法时;
    5.当初始化某个子类时;
    6.当虚拟机启动某个被标明为启动类的类(main方法);

  • 相关阅读:
    C# WPF开源控件库MaterialDesign介绍
    C# MQTT 服务端客户端通讯
    C#串口调试工具 (WPF/MVVM结构完整示例版)
    WPF转换器
    WPF动画基础及实例
    WPF MVVM架构 EF、WCF、IOC 设计示例经典
    SpringMVC中采用简洁的配置实现文件上传
    Maven 默认 SpringMVC-servlet.xml 基本配置
    maven pom.xml基本设置
    maven pom.xml设置jdk编译版本为1.8
  • 原文地址:https://www.cnblogs.com/one--way/p/5635803.html
Copyright © 2020-2023  润新知