检测客户端是PC,微信还是手机

import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;import javax.servlet.http.HttpServletRequest;/*** 检测客户端是PC,微信还是手机*/
public class CheckClient {/*** \b 是单词边界(连着的两个(字母字符 与 非字母字符) 之间的逻辑上的间隔),* 字符串在编译时会被转码一次,所以是 "\\b"* \B 是单词内部逻辑间隔(连着的两个字母字符之间的逻辑上的间隔)*/static String phoneReg = "\\b(ip(hone|od)|android|opera m(ob|in)i"+"|windows (phone|ce)|blackberry"+"|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp"+"|laystation portable)|nokia|fennec|htc[-_]"+"|mobile|up.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";static String tableReg = "\\b(ipad|tablet|(Nexus 7)|up.browser"+"|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";/*** 移动设备正则匹配:手机端*/static Pattern phonePat = Pattern.compile(phoneReg, Pattern.CASE_INSENSITIVE);/*** 移动设备正则匹配:平板*/static Pattern tablePat = Pattern.compile(tableReg, Pattern.CASE_INSENSITIVE);/*** 检测是否是移动设备还是pc访问* @param userAgent 浏览器标识* @return true:移动设备接入,false:pc端接入*/public static boolean checkClient(String userAgent){if(null == userAgent){userAgent = "";}Matcher matcherPhone = phonePat.matcher(userAgent);//匹配  Matcher matcherTable = tablePat.matcher(userAgent);if(matcherPhone.find() || matcherTable.find()){return true;}else{return false;}}/*** 检测访问的浏览器来自何种的客户端* @param request* @param response* @return 0:微信客户端,1:非微信的移动客户端,2:pc端* @throws IOException*/public static int checkClient(HttpServletRequest request){int ret = 0;//默认是微信客户端String userAgent = request.getHeader("user-agent").toLowerCase();//获取浏览器标识if(userAgent.indexOf("micromessenger")==-1){//不是微信客户端boolean isFromMobile=false;try{isFromMobile=checkClient(userAgent);//检测是否是移动设备还是pc访问if(isFromMobile){//非微信的移动端ret = 1;}else{//pc端ret = 2;}}catch(Exception e){}}return ret;}}

xn--41t291ee8i.cn

xn--41t291ee8i.cn

检测客户端是PC,微信还是手机相关推荐

  1. HTTP userAgent 获取客户端访问途径:手机,pc,微信.....

    附: 如果前端使用的是Layui框架,使用如下代码,即可获取到设备信息: var device = layui.device();console.log(device); {os: "win ...

  2. PC微信扫描浏览器Cookies?腾讯:目前无法重现问题;华为手机分拆?官方否认;pip 21.0停止支持Python 3.5...

    点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 Make the person mature is not the ...

  3. 【ASP.NET】判断访问网站的客户端是PC还是手机

    [ASP.NET]判断访问网站的客户端是PC还是手机 原文:[ASP.NET]判断访问网站的客户端是PC还是手机 主要就是通过客户端传递的User-agent来判断访问网站的客户端是PC还是手机,.N ...

  4. php拼车网源码,PHP拼车网源码 微信拼车源码 手机拼车源码 PC+微信双终端

    PHP拼车网源码 微信拼车源码 手机拼车源码 PC+微信双终端 上传程序到根目录 安装文档: 1.打开网址http://您的域名/ebak 客户名:admin 密码:123456 2.点击" ...

  5. 报名 微信 投票 php,女神微信投票PHP源码带PC报名和手机报名吸粉做微信活动必备...

    适用规模: 萌娃投票|女神微信投票新版 带PC报名和手机报名模式 吸粉做微信活动必备工具 优化代码 运行情况: 5.3/5.4+Mysql+伪静态 安装步调: -------------------- ...

  6. 判断客户端是PC还是手机

    转载地址:http://www.cnblogs.com/yc-755909659/p/3605466.html 主要就是通过客户端传递的User-agent来判断访问网站/应用的客户端是PC还是手机, ...

  7. php判断客户端是否为手机移动设备,php怎么判断客户端是pc还是移动设备

    php判断客户端是pc还是移动设备的方法:根据php的$_SERVER['HTTP_USER_AGENT']中的各种浏览器访问时所包含各个浏览器特定的字符串来判断是属于PC还是移动端. 本文操作环境: ...

  8. js判断客户端是PC端还是移动端访问

    js判断客户端是PC端还是移动端访问 方法一 (推荐) function IsPC(){ var userAgentInfo = navigator.userAgent;var Agents = ne ...

  9. 微信有电脑客户端吗_微信公众号文章下载、打印、精确搜索定位与交流方式分享...

    点"考研竞赛数学"↑可每天"涨姿势"哦! 封面图来源:pexels.com [注]以下操作适用于所有公众号 一.电子文档下载打印 咱号一直不赞成积累电子文档,而 ...

最新文章

  1. software RAID0+cryptsetup磁盘加密
  2. css清除浮动的处理方法
  3. SpringBoot定义统一的controller返回格式
  4. 查看/清除 本地电脑/浏览器缓存?
  5. c++学习笔记之静态成员函数
  6. PyTorch教程(七):属性统计
  7. Python 中的Pandas库
  8. 00后确实卷,公司新来的卷王,我们这帮老油条真干不过.....
  9. python爬虫urllib 数据处理_Python 爬虫笔记之Urllib的用法
  10. ASP.NET Core和Angular 2双剑合璧
  11. 【等价转换】—— 整数的变换
  12. JSTL 核心标签库 使用(C标签)
  13. 【java支付一 】java整合银联支付
  14. 记录下SpringBoot父子工程使用jib构建docker镜像的过程(跳过多余模块)
  15. java.sql.SQLException: org.gjt.mm.mysql.Driver
  16. P7456 [CERC2018] The ABCD Murderer (ac自动机+线段树优化dp/反向st)
  17. word修订模式怎么彻底关闭_如何去掉word修订模式
  18. 微信小程序获取当前系统时间以及判断周几
  19. DataBinding的使用一
  20. 国外服务器解决域名备案问题

热门文章

  1. 把windows系统的默认编码改成UTF-8
  2. 惠普新CEO的独门秘笈
  3. 【Python】【Open3D】.pcd及.obj三维可视化
  4. python爬虫能干什么-Python实战:网络爬虫都能干什么?
  5. 浙江工业大学计算机科学与技术研究生院,浙江工业大学计算机科学与技术研究生专业排名...
  6. kotlin测试android,使用Kotlin Spek 2来做Android的行为驱动测试
  7. Statspack之六-生成分析报告(转贴)
  8. 天云数据:Hubble数据库系统自主研发率99.62%,是真正的信创数据库
  9. Dubbo--kazoo库操作zk
  10. macbook卡在进度条开不了机_苹果电脑一直处在进度条状态,不能开机怎么办?...