主要通过 HTTP_USER_AGENT 来判断
以PHP代码举例
public function actionTest(){ $user_agent = $_SERVER['HTTP_USER_AGENT']; echo $user_agent; }
获得结果:
微信:
Mozilla/5.0 (Linux; Android 6.0; HUAWEI MT7-TL10 Build/HuaweiMT7-TL10; wv)
AppleWebKit/537.36 (KHTML, like Gecko)
Version/4.0
Chrome/53.0.2785.49
Mobile MQQBrowser/6.2
TBS/043220
Safari/537.36
MicroMessenger/6.5.8.1060 --------------------------------> 微信特征
NetType/WIFI
Language/zh_CN
支付宝:
Mozilla/5.0 (Linux; U; Android 6.0; zh-CN; HUAWEI MT7-TL10 Build/HuaweiMT7-TL10)
AppleWebKit/537.36 (KHTML, like Gecko)
Version/4.0
Chrome/40.0.2214.89
UCBrowser/11.5.0.939
UCBS/2.10.1.6 Mobile
Safari/537.36
Nebula AlipayDefined(nt:WIFI,ws:360|0|3.0)
AliApp(AP/10.0.15.051805)
AlipayClient/10.0.15.051805 ----------------------------------> 支付宝特征
Language/zh-Hans
useStatusBar/true
如果 UserAgent 中有 MicroMessenger 为微信
如果有 ApliPayClient 则为支付宝
否则,不是这两家
不过QQ注意扫码也会有 MicroMessenger/6.5.8.1060