java request.getHeader("user-agent")获取浏览器信息的方法

 更新时间:2019年03月29日 14:53:22   作者:天才小小布  
这篇文章主要介绍了java request.getHeader("user-agent")获取浏览器信息的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、User Agent的含义

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

一些网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但通过伪装 UA 可以绕过检测。

浏览器的 UA 字串
标准格式为: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息

浏览器标识
由于很多网站在进行 UA 检测的时候忽略了两位数版本号,所以可能造成 浏览器及之后版本收到糟糕的页面,因此自 浏览器 10 之后的版本中浏览器标识项固定为 浏览器,在 UA 字串尾部添加真实版本信息。

注:来源自百度百科

当在浏览器发起一个请求后,我们可以查看请求信息。

 

Request Headers:请求头会包含请求信息。

二:获得浏览器请求头中的User-Agent

(1)请求

String userAgent = request.getHeader("user-agent");

(2)获取

User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36

三、UserAgentUtils.jar

UserAgentUtils.jar是UserAgent的工具类。

(1)maven

<!-- https://mvnrepository.com/artifact/eu.bitwalker/UserAgentUtils -->
<dependency>
  <groupId>eu.bitwalker</groupId>
  <artifactId>UserAgentUtils</artifactId>
  <version>1.20</version>
</dependency>

(2)java代码

UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent")); 
Browser browser = userAgent.getBrowser(); 
OperatingSystem os = userAgent.getOperatingSystem();

参考文章:

java 获取HttpRequest Header的几种方法(必看篇)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 举例详解用Java实现web分页功能的方法

    举例详解用Java实现web分页功能的方法

    这篇文章主要介绍了举例详解用Java实现web分页功能的方法,这种基本功能现一般通过Hibernate框架来完成,需要的朋友可以参考下
    2015-10-10
  • 使用JSCH框架通过跳转机访问其他节点的方法

    使用JSCH框架通过跳转机访问其他节点的方法

    下面小编就为大家分享一篇使用JSCH框架通过跳转机访问其他节点的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Java基础之方法重写和多态示例

    Java基础之方法重写和多态示例

    这篇文章主要介绍了Java基础之方法重写和多态,结合实例形式分析了java方法重写和多态的相关原理与使用技巧,需要的朋友可以参考下
    2019-08-08
  • Java8中Stream API的peek()方法详解及需要注意的坑

    Java8中Stream API的peek()方法详解及需要注意的坑

    这篇文章主要给大家介绍了关于Java8中Stream API的peek()方法详解及需要注意的坑,Java 中的 peek 方法是 Java 8 中的 Stream API 中的一个方法,它属于中间操作,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • Mybatis逆工程的使用

    Mybatis逆工程的使用

    最近在学Mybatis,类似Hibernate,Mybatis也有逆工程可以直接生成代码(mapping,xml,pojo),方便快速开发。这篇文章给大家介绍Mybatis逆工程的使用相关知识,感兴趣的朋友一起看下吧
    2016-06-06
  • 超好用的Java工具类库Hutool用法详解

    超好用的Java工具类库Hutool用法详解

    Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,下面就跟随小编一起来学习一下Hutool的具体用法吧
    2023-09-09
  • Java 深入浅出讲解代理模式

    Java 深入浅出讲解代理模式

    代理模式是Java常见的设计模式之一。所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象
    2022-03-03
  • Java实现多用户注册登录的幸运抽奖

    Java实现多用户注册登录的幸运抽奖

    这篇文章主要为大家详细介绍了Java实现多用户注册登录的幸运抽奖,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 如何在Spring Boot微服务使用ValueOperations操作Redis集群String字符串

    如何在Spring Boot微服务使用ValueOperations操作Redis集群String字符串

    这篇文章主要介绍了在Spring Boot微服务使用ValueOperations操作Redis集群String字符串类型数据,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • MybatisPlus #{param}和${param}的用法详解

    MybatisPlus #{param}和${param}的用法详解

    这篇文章主要介绍了MybatisPlus #{param}和${param}的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论