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

作者:天才小小布 时间:2022-05-28 01:04:26 

一、User Agent的含义

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

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

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

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

注:来源自百度百科

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

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

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的几种方法(必看篇)

来源:https://blog.csdn.net/w410589502/article/details/73163383

标签:java,request.getHeader,浏览器信息
0
投稿

猜你喜欢

  • mybatis的大于小于号转义符号一览

    2023-05-31 07:23:03
  • Android下拉列表选项框及指示箭头动画

    2022-09-28 04:08:15
  • Android DataBinding的官方双向绑定示例

    2023-09-15 04:39:27
  • Java拦截器Interceptor和过滤器Filte的执行顺序和区别

    2022-06-01 20:37:11
  • Java创建子线程的两种方法

    2023-11-24 07:00:05
  • Java实现验证码具体代码(图片、汉字)

    2023-03-25 11:14:31
  • Spring Boot与RabbitMQ结合实现延迟队列的示例

    2021-08-31 02:02:01
  • Android 虚拟按键与沉浸式的适配方法

    2021-11-27 22:03:02
  • 在Spring Boot中使用Spring-data-jpa实现分页查询

    2023-12-03 21:35:39
  • Android源代码仓库及其管理工具Repo分析详解

    2021-09-01 12:16:18
  • java.util.concurrent.ExecutionException 问题解决方法

    2022-12-09 21:15:04
  • Android实现随机圆形云标签效果

    2023-02-23 02:10:42
  • Java中BeanUtils.copyProperties基本用法与小坑

    2021-11-04 22:09:01
  • Android桌面组件App Widget用法入门教程

    2023-09-18 05:05:54
  • java动态代理和cglib动态代理示例分享

    2023-10-26 18:36:02
  • Android编程之SMS读取短信并保存到SQLite的方法

    2022-01-30 18:02:45
  • Spring中注解方式的异步请求

    2023-11-30 18:53:54
  • 关于mybatis一对一查询一对多查询遇到的问题

    2022-01-26 05:25:12
  • java数据结构与算法之noDups去除重复项算法示例

    2023-06-19 08:50:34
  • Android教程之开机流程全面解析

    2023-02-18 21:02:44
  • asp之家 软件编程 m.aspxhome.com