java 解析user-agent 信息

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

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方法);

以上就是本文的全部内容了,希望大家能够喜欢相关阅读:

解析Android开发中多点触摸的实现方法

Win10系统无法运行Share EX2提示Are you happy的故障分析及解决方法

如果没有预定Win10升级 还能免费升级Win10吗?

Win10 Mobile/WP8.1优秀专业摄影应用OneShot本周再次更新:修复Bug和优化性能

Windows 10推中国定制版 微软7月29日正式发布

Win10虚拟内存如何关闭?Win10关闭虚拟内存的方法

php无限分类且支持输出树状图的详细介绍

C语言十进制转二进制代码实例

Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作

SQLite教程(一):SQLite数据库介绍

Java实现MD5加密及解密的代码实例分享

jQuery对于显示和隐藏等常用状态的判断方法

PHP中iconv函数知识汇总

在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)

java useragent 解析_java_java 解析user-agent 信息,解析http user-agent信息,使用uasp - phpStudy...相关推荐

  1. java useragent 360 遨游 火狐_Chrome与火狐修改浏览器User Agent教程

    UA怎么改?当我们使用不同的浏览器访问到网站时,它将会告诉网站该浏览器的有不同的设备与UA类型,详见:User Agent 是什么? 某些网站可能有意或无意间关闭了对于某些浏览器的响应. 由于浏览器总 ...

  2. java解析tcp报文_JAVA语言TCP通信和JDBC示例(AIS信息解析)

    JAVA实现AIS信息的接受,解析和存储 船舶自动识别系统(Automatic Identification System, 简称AIS)是一种新型的助航设备.AIS基本功能是:将本船和他船的精确船位 ...

  3. 信息: 解析 HTTP 请求 header 错误 java.lang.IllegalArgumentException: 在方法名称中发现无效的字符串, HTTP 方法名必须是有效的符号.

    信息: 解析 HTTP 请求 header 错误 Note: further occurrences of HTTP request parsing errors will be logged at ...

  4. Skywalking光会用可不行,必须的源码分析分析 - Skywalking Agent 插件解析

    3 Skywalking源码导入 接上文,已经学习了Skywalking的应用,接下来我们将剖析Skywalking源码,深度学习Skywalking Agent. 3.1 源码环境搭建 当前最新版本 ...

  5. java映射文件是哪一种xml_java解析xml的几种方式哪种最好?

    满意答案 gjek59ug 2013.10.10 采纳率:52%    等级:12 已帮助:9223人 (1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组 ...

  6. Java定时任务(一) Timer及TimerTask的案例解析及源码分析

    Java定时任务(一)  Timer及TimerTask的案例解析及源码分析 一.概述: 定时任务这个概念在Java的学习以及项目的开发中并不陌生,应用场景也是多种多样.比如我们会注意到12306网站 ...

  7. app及Java服务端实现JT808协议的定义解析

    app及Java服务端实现JT808协议的定义解析,可以用做行车记录仪等的app. 网上很多帖子已经对JT808协议做了说明,我在这里就不做过多的赘述了. 最近接到一个项目是打车类的,所以对这协议做了 ...

  8. 【JAVA秘籍心法篇-Spring】Spring XML解析源码详解

    [JAVA秘籍心法篇-Spring]Spring XML解析源码详解 所谓天下武功,无坚不摧,唯快不破.但有又太极拳法以快制慢,以柔克刚.武功外式有拳打脚踢,刀剑棍棒,又有内功易筋经九阳神功.所有外功 ...

  9. 蓝桥杯Java大学C组近三年真题解析(三)——暴力、模拟题

    目录 第十届 求和 题目 题解 代码 矩形切割 题目 题解一 代码 代码 代码 题解二 代码 不同子串 题目 题解 代码 质数 题目 题解 代码 最大降雨量 题目 题解 代码 旋转 题目 题解 代码 ...

最新文章

  1. mac os 10.14.5 update failure
  2. ninject 的 实现 的 理解
  3. 前端js变量踩坑,部分手机浏览器不支持let、const
  4. 成功秀了一波scala spark ML逻辑斯蒂回归
  5. JAVA-初步认识-第八章-继承-单继承和多重继承
  6. JQuery真的不难~第六回 JQ中的异步调用方式
  7. Android平台各类恶意软件及病毒概览
  8. Element穿梭框Transfer与进度条组件绑定
  9. 590. N叉树的后序遍历
  10. 移动充电宝市场需求的调研报告
  11. 【洛谷习题】皇后游戏
  12. 泛微某oa系统ssrf漏洞分析
  13. 以匠心守初心!百望云荣膺人民网“第十九届人民匠心飞跃奖”
  14. Kubernetes安装报错nodeRegistration.name: Invalid value: “vm_0_14_centos“: a DNS-1123 subdomain
  15. mac要装anaconda吗_在Mac OS X上安装Anaconda
  16. Android SurfaceView预览变形完美解决方法
  17. IE8允许ActiveX控件设置
  18. ObjectARX编程工具所有版本下载地址(最新含ObjectARX 2017)
  19. 电力电子器件 简答题
  20. 怎么样理解同步清零和异步清零?

热门文章

  1. 阿里云上传视频回调处理
  2. WordPress小程序“酱茄pro小程序”V1.7.8发布
  3. 关于STM32 PB3 PB4 如何设置成普通GPIO的配置
  4. 使用mybatis-plus时候报错Error updating database.subject_parent_id‘ doesn‘t have a default value
  5. 一个字节八位,左边是高位,右边是低位。
  6. ThinkPHP5框架:Layui 下 image、video、excel 文件的上传实现
  7. DMA 请求/应答协议
  8. tensor的维度(轴)—axis的解释
  9. 加拿大访学/博后的子女选择公立学校及办理入学手续详解
  10. uin-app微信小程序开发