• 判断扫码的客户端是微信还是支付宝


    user-agent:判断扫码的客户端是微信还是支付宝

    User Agent格式

      User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

      浏览器的 UA 字串 
        标准格式为: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息

    微信APP:Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) 
    AppleWebKit/605.1.15 (KHTML, like Gecko) 
    Mobile/15G77 MicroMessenger/6.7.2 NetType/4G Language/zh_CN
     
     
    支付宝APP:Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) 
    AppleWebKit/605.1.15 (KHTML, like Gecko) 
    Mobile/15G77 NebulaSDK/1.8.100112 Nebula PSDType(1) 
    AlipayDefined(nt:4G,ws:320|504|2.0) AliApp(AP/10.1.32.600) 
    AlipayClient/10.1.32.600 Alipay Language/zh-Hans
    • 获取user-Agent 之后,
    • 通过识别MicroMessenger或者AlipayClient这样的关键字应该就可以判断是微信还是支付宝

    判断扫码的客户端是微信还是支付宝(JAVA方式)

    @RestController
    public class PaySourceController {
        @RequestMapping("/sweep")
        public String sweepCode(HttpServletRequest request) {
            String userAgent = request.getHeader("user-agent");
            if (userAgent != null && userAgent.contains("AlipayClient")) {
                return "来自支付宝";
            }else if (userAgent != null && userAgent.contains("MicroMessenger")) {
                return "来自微信";
            }else{
                return "未知来源";
            }
        }
    }

    判断扫码的客户端是微信还是支付宝(JS方式)

    function IsWeixinOrAlipay(){
        var ua = window.navigator.userAgent.toLowerCase();
        //判断是不是微信
        if ( ua.match(/MicroMessenger/i) == 'micromessenger' ) {  
            return "WeiXIN";  
        }    
        //判断是不是支付宝
        if (ua.match(/AlipayClient/i) == 'alipayclient') {
            return "Alipay";  
        }
        //哪个都不是
        return "false";
    }

    参考资料:https://blog.csdn.net/fly910905/article/details/82498813

  • 相关阅读:
    cocos2d-x 3.0游戏实例学习笔记 《跑酷》第七步--物理碰撞检測(1)
    Android给定坐标计算距离
    LeetCode——Gray Code
    hdu 1203
    2015 年度新增开源软件排名TOP100
    compact处理流程分析
    ExtJs--06--Ext.WindowGroup相关方法简单使用
    android4.4的两个bug
    高阶MapReduce_1_链接多个MapReduce作业
    如何设置eclipse格式化xml代码时不自动换行
  • 原文地址:https://www.cnblogs.com/luliang888/p/12083233.html
Copyright © 2020-2023  润新知