zoukankan      html  css  js  c++  java
  • User Agent 用户代理

    User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

    User Agent的含义

    一些网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但通过伪装 UA 可以绕过检测。
    浏览器的 UA 字串
    标准格式为: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息
    浏览器标识
    由于很多网站在进行 UA 检测的时候忽略了两位数版本号,所以可能造成 浏览器及之后版本收到糟糕的页面,因此自 浏览器 10 之后的版本中浏览器标识项固定为 浏览器,在 UA 字串尾部添加真实版本信息。
     

    java中的UserAgent

    来自UserAgentUtils-1.19.jar 下载地址:http://download.csdn.net/download/xc_oo0/10208840

    user-agent-utils 是一个用来解析 User-Agent 字符串的 Java 类库。 
      能识别的内容包括: 
      常见操作系统 
      常见 Web 浏览器 
      很多移动设别 
      一些平板设别 
      一些 Email 客户端 
      类似于Gmail和Hotmail的客户端


    示例代码:
    String showData = "";
    String userAgent = request.getHeader("User-Agent");
    UserAgent ua = new UserAgent(userAgent);
    
    // 浏览器
    Browser browser = ua.getBrowser();
    String browserName = browser.name(); // 浏览器名称
    BrowserType browserType = browser.getBrowserType(); // 浏览器类型
    
    Version browserVersion = ua.getBrowserVersion(); // 浏览器版本
    
    // 操作系统
    OperatingSystem operatingSystem = ua.getOperatingSystem();
    Class<OperatingSystem> declaringClass = operatingSystem.getDeclaringClass(); // 声明类
    DeviceType deviceType = operatingSystem.getDeviceType(); // 设备的类型
    String deviceTypeName = deviceType.getName(); // 设备名称
    OperatingSystem group = operatingSystem.getGroup();
    String groupName = group.getName();
    Manufacturer manufacturer = operatingSystem.getManufacturer();
    String manufacturerName = manufacturer.getName(); // 制造商名称
    String operatingSystemName = operatingSystem.getName(); // 操作系统名称
    
    showData += "浏览器名称:" + browserName + "浏览器类型:" + browserType + "浏览器版本:" + browserVersion + "设备名称:"
            + deviceTypeName + "制造商名称:" + manufacturerName + "操作系统名称:" + operatingSystemName;
    System.out.println(showData);

    参考:https://baike.baidu.com/item/%E7%94%A8%E6%88%B7%E4%BB%A3%E7%90%86/1471005?fromtitle=useragent&fromid=5534048&fr=aladdin

  • 相关阅读:
    无熟人难办事?—迪米特法则
    考题抄错会做也白搭—模板方法模式
    简历复印—原型模式
    Android Studio 安装及常见问题
    雷锋依然在人间——工厂方法模式
    欢迎测试
    客户端程序设计V1
    Linux服务器端程序设计V1
    【Alpha】最后一篇
    【Alpha】开发日志Day10-0721
  • 原文地址:https://www.cnblogs.com/ooo0/p/8298920.html
Copyright © 2011-2022 走看看