java request.getHeader("user-agent")获取浏览器信息的方法
作者:天才小小布 时间:2022-05-28 01:04:26
一、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的几种方法(必看篇)
来源: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