`

t150ckh request.getHeader("user-agent")解析浏览器

    博客分类:
  • Java
 
阅读更多

public class BrowseTool {

07      private final static String IE9= "MSIE 9.0" ;
08      private final static String IE8= "MSIE 8.0" ;
09      private final static String IE7= "MSIE 7.0" ;
10      private final static String IE6= "MSIE 6.0" ;
11      private final static String MAXTHON= "Maxthon" ;
12      private final static String QQ= "QQBrowser" ;
13      private final static String GREEN= "GreenBrowser" ;
14      private final static String SE360= "360SE" ;
15      private final static String FIREFOX= "Firefox" ;
16      private final static String OPERA= "Opera" ;
17      private final static String CHROME= "Chrome" ;
18      private final static String SAFARI= "Safari" ;
19      private final static String OTHER= "其它" ;
20       
21       
22      public String checkBrowse(String userAgent){
23          if (regex(OPERA, userAgent)) return OPERA;
24          if (regex(CHROME, userAgent)) return CHROME;
25          if (regex(FIREFOX, userAgent)) return FIREFOX;
26          if (regex(SAFARI, userAgent)) return SAFARI;
27          if (regex(SE360, userAgent)) return SE360;
28          if (regex(GREEN,userAgent)) return GREEN;
29          if (regex(QQ,userAgent)) return QQ;
30          if (regex(MAXTHON, userAgent)) return MAXTHON;
31          if (regex(IE9,userAgent)) return IE9;
32          if (regex(IE8,userAgent)) return IE8;
33          if (regex(IE7,userAgent)) return IE7;
34          if (regex(IE6,userAgent)) return IE6;
35          return OTHER;
36      }
37      public boolean regex(String regex,String str){
38          Pattern p =Pattern.compile(regex,Pattern.MULTILINE);
39          Matcher m=p.matcher(str);
40          return m.find();
41      }
42       
43      public static void main(String[] args) {
44          String ie9    = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" ;
45          String ie8    = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322)" ;
46          String ie7    = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322)" ;
47          String ie6    = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)" ;
48          String aoyou  = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; Maxthon 2.0)" ;
49          String qq     = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322) QQBrowser/6.8.10793.201" ;
50          String green  = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; GreenBrowser)" ;
51          String se360  = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; 360SE)" ;
52           
53          String chrome = "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/534.11 (KHTML, like Gecko) Chrome/9.0.570.0 Safari/534.11" ;              
54          String safari = "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN) AppleWebKit/533.17.8 (KHTML, like Gecko) Version/5.0.1 Safari/533.17.8" ;
55          String fireFox= "Mozilla/5.0 (Windows NT 5.2; rv:7.0.1) Gecko/20100101 Firefox/7.0.1" ;
56          String opera  = "Opera/9.80  (Windows NT 5.2; U; zh-cn) Presto/2.9.168 Version/11.51" ;
57          String other  = "(Windows NT 5.2; U; zh-cn) Presto/2.9.168 Version/11.51" ;
58          BrowseTool b= new BrowseTool();
59          System.out.println(b.checkBrowse(ie9));
60          System.out.println(b.checkBrowse(ie8));
61          System.out.println(b.checkBrowse(ie7));
62          System.out.println(b.checkBrowse(ie6));
63          System.out.println(b.checkBrowse(aoyou));
64          System.out.println(b.checkBrowse(qq));
65          System.out.println(b.checkBrowse(green));
66          System.out.println(b.checkBrowse(se360));
67          System.out.println(b.checkBrowse(chrome));
68          System.out.println(b.checkBrowse(safari));
69          System.out.println(b.checkBrowse(fireFox));
70          System.out.println(b.checkBrowse(opera));
71          System.out.println(b.checkBrowse(other));
72      }
73       
74 }
分享到:
评论

相关推荐

    NetNumen U31 R20(V12.11.20)统一网元管理系统 软件安装指导.pdf

    5. **配置网络参数**:设置服务器的IP地址、域名解析等。 6. **启动服务端软件**:确保服务端软件能够正常启动并运行。 #### 3. 客户端软件安装 客户端软件安装相对简单,主要包括以下几个步骤: 1. **安装客户端...

    部分国家,行业标准,国家标准,

    个人总结,其中包括如下标准: 1220-2007不锈钢棒 D429-81橡胶性能测试—刚性基体粘着力测试 GB 21389-2008 游标、带表和数显卡尺 GB-T228-2002 GB-T230.1-2004金属洛氏硬度实验 GB-T1172-99黑色金属硬度及强度换算...

    GB 150-2011 压力容器标准

    《GB 150-2011 压力容器标准》是中国关于压力容器设计、制造、检验和验收的重要规范,旨在确保压力容器的安全性和可靠性。这一标准由四个主要部分构成,每部分都涵盖了不同的专业领域,为相关行业的工程师和技术人员...

    方正卓越T150-3110家用电脑

    方正卓越T150-3110是一款专为家用设计的电脑,以其独特的设计美学和出色的性能表现,为用户带来前所未有的数字生活体验。这款电脑的核心特点体现在以下几个方面: 1. **设计理念**:T150-3110打破了传统电脑的设计...

    可编程控制器应用课件:PLC----考点总结.ppt

    - 定时器如T150和T250,不同之处在于复位条件和是否保持当前值。 - 计数器如C0、C200、C220,区别在于计数位数、是否支持增减计数以及停电保持。 7. 分支结构: - 选择性分支:只有一个分支满足条件时执行,多...

    方正卓越T150-2030家用电脑

    方正卓越T150-2030是一款专为家用设计的电脑,以其独特的设计理念和卓越的性能在同类产品中脱颖而出。这款电脑的核心特点在于它的外观设计和硬件配置。 首先,外观设计方面,T150-2030采用了一种新颖的黑白色主题,...

    方正卓越T150-3020家用电脑

    方正卓越T150-3020是一款专为家用设计的电脑,以其独特的设计理念和卓越的性能在通用行业中脱颖而出。这款电脑的核心亮点在于它的外观设计和内部配置。 首先,设计方面,卓越T150-3020采用了新颖的黑白色主题,打破...

    方正卓越T150-5025家用电脑

    方正卓越T150-5025是一款专为家用设计的电脑,以其独特的设计和出众的性能吸引用户。这款电脑在外观设计上打破了传统,采用了黑白色的搭配,给人带来强烈的视觉冲击力,展现出不凡的品质。钢琴漆机身处理,加上高...

    恩德思豪斯Proline t-mass T150热式质量流量计样本.pdf

    恩德思豪斯Proline t-mass T150热式质量流量计是一款用于液体流量测量的仪表,其工作原理基于热扩散原理,适用于导电性与非导电性液体的流量监测。该设备的特点包括大范围的流量比,能够直接测量质量流量,具有高...

    GB150-2011 压力容器.pdf

    GB150-2011 压力容器

    DEH主要功能

    - **多种运行模式**: 根据不同的运行条件,DEH提供了多种运行模式,包括但不限于启动模式(T150)、暖机模式(150℃至T300)、热态模式(300℃至T400)以及满负荷模式(T400以上)。 - **状态监测**: DEH系统能够实时监测...

    sumida车载功率电感

    CDRH50D20/T150 - **尺寸**:未提供 - **电感值**:未提供 - **典型DCR**:未提供 - **工作温度**:最高150°C (包括线圈自热) #### 四、应用案例分析 这些电感器广泛应用于汽车电子系统中,如电源管理、逆变器、...

    钢制压力容器GB150-1998

    《钢制压力容器GB150-1998》标准是针对钢制压力容器设计、制造、检验和验收的一套全面规范,旨在确保压力容器的安全性和可靠性。该标准是对GB150-89的修订版,吸收了多年的实践经验,并参考了国际同类标准进行了多项...

    表贴插装电感类Altium封装库AD三维视图PCB封装库(2D3D封装库)PcbLib

    LMR-T150A 38.4x21.5x8.26 LMR135 NR2520 NR3010 NR3012 NR3015 NR4010 NR4018 NR4020 NR4026 NR4030 NR5012 NR5020 NR5040 NR6020 NR6028 NR6045 NR8040 PK0406 PK0608 PK0810 PK0912 PK1012 PK1415 PK1618 PK1818 ...

    整体解决方案类.docx

    - 瘦客户机 T150 - 显示器 1851WT - 藏羚羊 PS2 键鼠套装 以上列出的解决方案涵盖了从基础设施建设到具体教学场景的应用,通过这些方案可以有效提升学校的信息化水平,促进教学资源的有效利用,提高教学质量和...

    【T15067】响应式蔬菜水果批发类网站模板(自适应手机端).zip

    3. **favicon.ico**:这是网站的图标文件,通常显示在浏览器的地址栏和收藏夹中,有助于提高品牌识别度。 4. **index.php**:这是网站的首页文件,通常包含网站的主要内容和导航结构。PHP是一种服务器端脚本语言,...

    PENTAIR 工业综合样册.pdf

    PENTAIR工业综合样册是一份包含Pentair公司旗下工业产品信息的样本册,涵盖了Pentair在机柜、机箱和冷却产品系列的产品及其技术参数,为工业用户提供了一个全面的产品参考目录。 首先,我们来了解一下机柜系列。...

    校园失物招领系统 JAVA+Vue.js+SpringBoot+MySQL

    基于Vue.js和SpringBoot的校园失物招领系统,分为用户前台和管理后台,可以给管理员、普通用户角色使用,包括失物招领、失物认领、宣传视频、物品挂失、论坛公告模块和系统基础模块,项目编号T150。 项目录屏:...

    dell服务器阵列卡安装步骤

    ### DELL服务器阵列卡安装步骤详解 在IT领域,服务器的稳定性与性能至关重要,而阵列卡作为提升服务器存储效率的关键组件,其正确安装更是不容忽视。DELL作为全球领先的IT解决方案提供商,其服务器产品备受青睐。...

Global site tag (gtag.js) - Google Analytics