展开全部

|#判断网站来自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|62616964757a686964616fe4b893e5b19e31333363356533android|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 True

user_agent = userAgent[0:4]

if _short_matches.search(user_agent) != None:

return True

return False

手机端python_python 判断请求是pc端还是手机端相关推荐

  1. 判断浏览器是pc端还是手机端

    <script type="text/javascript">var browser = {versions: function() {var u = navigato ...

  2. JavaScript 代码判断:PC端和手机端

    js代码· 示下: <script> if ((navigator.userAgent.match(/(phone|pad|pod|iPad|iPod|iPhone|ios|Android ...

  3. 关于MultiActionController异步请求Ajax,pc端正常,手机端报error错误;此问题一般是通过setInterval,seTimeout,做Ajax轮询时会产生此问题;

    此问题全网唯一! 关于MultiActionController异步请求Ajax,pc端正常,手机端报error问题:此问题一般是通过setInterval,seTimeout,做Ajax轮询时会产生 ...

  4. python如何判断web访问来源是PC端还是手机端

    以下方法为判断web访问来源是PC端还是手机端 def judge_pc_or_mobile(ua):"""判断访问来源是pc端还是手机端:param ua: 访问来源头 ...

  5. 判断访问来源是pc端还是手机端

    判断访问来源是pc端还是手机端(python) def judge_pc_or_mobile(ua):"""判断访问来源是pc端还是手机端:param ua: 访问来源头 ...

  6. PC端和手机端入口一致,跳转不同格式页面的解决方案

    如:PC端接口请求后跳转到jsp页面,手机端请求接口后跳转到html页面,两个客户端公用一个入口(index.do). // 跳转首页@RequestMapping(value = "/in ...

  7. html手机pc不同页面,PC端和手机端如何同时生成静态页

    静态页是和图片类似的静态资源,访问静态资源不会经过程序处理,不会根据浏览器返回不同页面.要同时支持PC端和手机端浏览器,且要生成静态页时,最好使用bootstrap之类的技术,实现自适应页面设计. 如 ...

  8. 【工具】PC端调试手机端 Html 页面的工具

    一.概述 有一个项目需要在手机端显示一个 web 页面,而每次把应用 launch 后,从手机端看比较麻烦,因此搜罗了几种在 PC 端调试手机端页面的工具. 二.工具 http://fonkie.it ...

  9. [html] 制作一个页面时,需要兼容PC端和手机端,你是要分别做两个页面还是只做一个页面自适应?为什么?说说你的理由

    [html] 制作一个页面时,需要兼容PC端和手机端,你是要分别做两个页面还是只做一个页面自适应?为什么?说说你的理由 两个页面 pc端布局和交互行为跟移动端不一样, 两个页面反而更好维护 个人简介 ...

  10. html自动跳转手机端,用JavaScript实现网站自动跳转电脑PC端与手机端不同页面

    前天,有一个网友希望在其微擎系统跳转的时候实现鉴别用户不同的客户端,比如电脑PC端和手机端,实现不同的页面跳转.对于之前老蒋有给其设置过PC端网站然后检测手机访问的时候跳转到WAP网站的案例,对于这个 ...

最新文章

  1. 深入研究Clang(四) Clang编译器的简单分析
  2. [Github推荐]CVPR2019录用论文下载及可视化论文网站
  3. logback AbstractLogstashTcpSocketAppender 源码解析
  4. Selenium自动化获取WebSocket信息
  5. java useragent 360 遨游 火狐_各种浏览器UserAgent一览表(桌面+移动)
  6. 微信小程序调试之【不在以下合法域名列表中】
  7. java 不定参数_Java不定参数
  8. 自定义控件_水平滑动的View 自定义属性
  9. express服务器多次访问数据库实例
  10. 要么战胜,要么战死,绝不投降
  11. linux虚拟机上挂载U盘
  12. Windows| 彻底修改 Windows 系统用户名
  13. 十分钟搞清字符集和字符编码
  14. 塑料周转筐生的材料配方详解
  15. [Latex]visio画图导入矢量图到Latex | 裁剪pdf | 去掉pdf白边
  16. 【英语:语法基础】B2.核心语法-动词
  17. 蓬莱小课:零基础应届生如何转行学数据分析师?
  18. 一周新论文 | 2020年第12周 | 自然语言处理相关
  19. mysql master_log_file_change master 未指定master_log_file
  20. 【阴沟翻船】AVPlayer设置完毕马上调用play方法会导致播放没声音

热门文章

  1. 机器人学习参考书籍目录整理
  2. 前端 后端 MD5加盐
  3. Navicat中文版破解安装
  4. WeChat Subscribers Lite - 微信公众订阅号自动回复WordPress插件
  5. 应用百花齐放,呈现北浙苏沪粤五极格局丨2021年中国区块链产业发展报告产业应用篇...
  6. 代码实现抖音时钟罗盘
  7. 计算机考研初试/复试——软件工程
  8. 二阶系统响应指标图_二阶系统瞬态响应和稳定性实验报告
  9. 面试:Android网络优化
  10. CentOS 7 安装 jdk11