如何判断移动终端访问还是PC访问?
2024-09-06 15:56:50
我们经常需要知道访问网站的设备是移动终端还是PAD还是PC,下面给出判断的java代码供参考。实现的原理就是获取HTTP消息头里User-Agent和x-wap-profile,User-下面是User-Agent实际抓包的例子。
User-Agent: Mozilla/5.0 (Linux; Android 4.3; Coolpad 8705 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Mobile Safari/537.36
/**
* 判断是否是从手机或者PAD访问的
*
* @param request
* @return
* true:为移动终端
* false:为PC用户
*/
public static boolean IsMobile(HttpServletRequest request) {
String user_agent = request.getHeader("User-Agent");
String wap_profile = request.getHeader("x-wap-profile");
if(user_agent ==null)
return true;
if (user_agent.contains("Android") || user_agent.contains("iPhone")
|| (wap_profile != null && wap_profile.length() > 0)) {
return true;
} else {
return false;
} }
另外需要注意的是同样是移动终端,在TD-LTE环境下发现请求包里会不携带User-Agent头,移动终端在WIFI和WCDMA环境下访问就会携带。这个问题让我花了一些时间(系统会报500错,后来增加了user_agent是否为空的判断。
最新文章
- react-native Simulator com+r不能刷新模拟器
- ie浏览器下,get请求缓存问题
- freemarker 数据做加减计算
- 采用TCP协议的PIC32MZ ethernet bootloader
- C# WebClient 使用http免费代理。
- MySQL表中数据的迁移
- HBase 安装过程记录
- C# Winform 获取天气情况
- iOS学习笔记之ARC内存管理
- Spring Security4源码解读探寻权限机制
- UVALive 7148 LRIP 14年上海区域赛K题 树分治
- mongoDB windows reinstall add auth
- 基于飞思卡尔i.MX 6Quad Sabrelite开发板的触摸屏调试
- 【iOS开发-48】九宫格布局案例:自己主动布局、字典转模型运用、id和instancetype差别、xib反复视图运用及与nib关系
- 两个同级div重叠的情况
- vue报错:/node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?
- Netty实现简易http_server
- JAVA设计模式(二)工厂模式
- UNITY3d在移动设备上的一些优化实战
- awesome-workflow-engines
热门文章
- 【转载】WEB系统性能问题的分析定位方法
- Android中Activity的生命周期图
- Linux——Django 开发环境部署(一)
- chown将指定文件的拥有者改为指定的用户或组(转)
- c语言字符串赋值
- iOS 11之Vision人脸检测
- linux下 apache启动、停止、重启命令
- angularjs2中的非父子组件的通信
- Atitit.面向接口的web 原理与设计重写 路由启动绑定配置url router rewriting urlpage  mvc mvp的 java c#.net php js
- Python内置函数之range()