Web—13-判断网站请求来自手机还是pc浏览器
判断网站请求来自手机还是pc浏览器
#判断网站来自mobile还是pc
def checkMobile(request):"""demo :@app.route('/m')def is_from_mobile():if checkMobile(request):return 'mobile'else:return 'pc':param request::return:"""userAgent = request.headers['User-Agent']# userAgent = env.get('HTTP_USER_AGENT')_long_matches = r'googlebot-mobile|android|avantgo|blackberry|blazer|elaine|hiptop|ip(hone|od)|kindle|midp|mmp|mobile|o2|opera mini|palm( os)?|pda|plucker|pocket|psp|smartphone|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce; (iemobile|ppc)|xiino|maemo|fennec'_long_matches = re.compile(_long_matches, re.IGNORECASE)_short_matches = r'1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-'_short_matches = re.compile(_short_matches, re.IGNORECASE)if _long_matches.search(userAgent) != None:return Trueuser_agent = userAgent[0:4]if _short_matches.search(user_agent) != None:return Truereturn False
判断是否为手机端
思路:手机端跳转一个页面,电脑端显示另外一个页面
if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {window.location.href = "https://www.baidu.com/";
} else {window.location.href = "http://news.baidu.com/";
}
方法二:正则和三元运算
window.location.href = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent) ? "https://www.baidu.com/" : "http://news.baidu.com/";
转载于:https://www.cnblogs.com/swjblog/p/9859004.html
Web—13-判断网站请求来自手机还是pc浏览器相关推荐
- 判断http请求来自手机还是pc
/* * 判断请求来自手机还是pc */ package com.up.cttf.utils; import javax.servlet.http.HttpServletRequest; publ ...
- php或js判断网站访问者来自手机或者pc端源码
很多时候也可以通过逻辑程序来进行判断,如PHP.JS是常用的两种识别访问设备类型的常用方法. 原理都是采用识别访问客户端的HTTP_USER_AGENT,然后进行关键字匹配进行确定设备类型,对于伪造H ...
- 判断请求来自手机还是PC
由于小程序和PC端用的是同一个后台 所以就需要判断请求是从哪里发过来的 在这里是利用Request Body 里面的user-agent 来判断 /** * 根据当前请求的特征,判断该请求是否来自手 ...
- java判断request请求是手机还是pc终端
/*** 判断请求是否手机端* @param req* @return*/public static boolean isMobile(HttpServletRequest req) {UserAge ...
- jsp判断请求来自手机代码学习
如何判断请求来自手机,实现的方法有很多,在本文为大家详细介绍下jsp中是如何做到的,感兴趣的朋友不要错过 代码如下: <% String wap = "http://3g.ssss.c ...
- 【JS】【19】使用Jquery判断是电脑或手机或微信浏览器访问
正文: //检测平台 var p = navigator.platform;system.win = p.indexOf("Win") == 0;system.mac = p.in ...
- js判断运行环境是手机还是 PC
js判断运行环境是手机还是 PC function IsPC() {var userAgentInfo = navigator.userAgent; // 包含有关浏览器的信息// 非手机端var A ...
- 判断客户端是否是手机或者PC
/// <summary> /// 判断客户端是否是手机或者PC /// </summary> /// <returns></returns> publ ...
- java 判断请求来自手机或电脑
[color=red]java 判断 android.iphone等手机浏览器[/color] [url]http://www.aiisen.com/java-judge-is-moblie-zh.h ...
- 调用优酷视频的API,兼容手机和PC浏览器
由于公司需求需要优酷视频可以播放手机浏览器,和PC浏览器,然后我找了一天了,才把这个完整的JS代码找到,代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD ...
最新文章
- 竞态条件的赋值_《Java并发编程实战》读书笔记一:基础知识
- Ubuntu 16.04下减小/释放/清理VirtualBox虚拟硬盘文件的大小
- JVM监控工具有哪些
- 不要错过使用jOOλ或jOOQ编写Java 8 SQL单行代码的机会
- 信息学奥赛一本通(1110:查找特定的值)
- python-演练-通过描述符来控制另一个类的实例化参数
- FastDFS分布式文件系统
- joblib多线程、多进程学习案例(一)——一步步写多进程任务
- 数据库选项--自动更新统计
- Sizzle.selectors.relative [ 源代码分析 ]
- IDEA------自动导包快捷键
- 模拟网络丢包的linux,简述Linux模拟丢包
- linux图形界面和dos界面切换
- 1.22-1.23板卡调试日志
- ecshop + 主从 + memcache + memcache监控
- 根据公开信息 已有15家公司参与央行数字货币
- 大锤砸向了阿里巴巴的中台 阿里巴巴还是个快乐的青年吗?———为你讲述阿里巴巴中台建设史
- 邂逅“命运之师”人生巨变
- Java有参构造和无参构造
- 中国大陆肯德基餐厅全面停用塑料吸管;可口可乐与时尚包袋品牌Kipling推出联名系列 | 美通企业日报...
热门文章
- 0 win10重装partition_如何重装win 10 系统?
- 移植u-boot到树莓派
- c语言实验总结200字,数控毕业生自我鉴定200字(精选3篇)
- 重置Ubuntu root 密码
- error: crosses initialization of
- poj3537 Crosses ans Crosses
- Excel使用技巧大全
- 外贸管理软件之出口流程整理丨汇信外贸软件
- 武汉php东和,武汉探东之旅,未完成
- 计算机视觉及色彩空间RGB,HSV,HLS,Lab,LMS,XYZ,CMYK