User Agent格式
User Agent中文名為用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務(wù)器能夠識別客戶使用的操作系統(tǒng)及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。
瀏覽器的 UA 字串?
標準格式為: 瀏覽器標識 (操作系統(tǒng)標識; 加密等級標識; 瀏覽器語言) 渲染引擎標識 版本信息
微信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這樣的關(guān)鍵字應(yīng)該就可以判斷是微信還是支付寶
判斷掃碼的客戶端是微信還是支付寶(JAVA方式)
? ? ? ? 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";
}
判斷掃碼的客戶端是微信還是支付寶(PHP方式)
<?php
function judgment()
{? ? ? ?//判斷是不是微信
? ? ? ? if(strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger')!==false){
? ? ? ? ? ? ? ?return"您正在使用 微信 掃碼";
? ? ? ? }?
? ? ? ? //判斷是不是支付寶
????????if(strpos($_SERVER['HTTP_USER_AGENT'],'AlipayClient')!==false)
????????{
? ? ? ? ?????????return"您正在使用 支付寶 掃碼";
????????}
????????//哪個都不是
????????return"請使用支付寶、QQ、微信掃碼";
?}
?>