这里有新鲜出炉的Java函数式编程,程序狗速度看过来!
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
这篇文章主要介绍了java 解析http 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方法);
来源: http://www.phperz.com/article/17/1120/360483.html