解決方案是通過User-Agent 來判斷掃描的來源
Http Header之User-Agent
User Agent中文名為用戶代理,是Http協議中的一部分,屬于頭域的組成部分,User Agent也簡稱UA。它是一個特殊字符串頭,是一種向訪問網站提供你所使用的瀏覽器類型及版本、操作系統及版本、瀏覽器內核、等信息的標識。通過這個標 識,用戶所訪問的網站可以顯示不同的排版從而為用戶提供更好的體驗或者進行信息統計。
幾個例子
Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4
微信
Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 MicroMessenger/6.5.3 NetType/WIFI Language/zh_CN
支付寶
Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 ChannelId(3) Nebula PSDType(1) AlipayDefined(nt:WIFI,ws:375|647|2.0) AliApp(AP/10.0.1.123008) AlipayClient/10.0.1.123008 Alipay Language/zh-Hans
具體實現
public class AllPayController extends Controller {
protected final Log log = Log.getLog(getClass());
public void index(){
String userAgent = getRequest().getHeader("User-Agent");
log.info(userAgent);
int payWay = 0;
String agent = userAgent.toLowerCase();
if (agent.indexOf("micromessenger")>0) {
//用戶使用微信訪問頁面
payWay = 1;
System.out.println("微信...");
}else if(agent.indexOf("alipayclient")>0){
//用戶使用支付寶訪問頁面
payWay = 2;
System.out.println("支付寶...");
}
renderText(payWay+" userAgent:"+userAgent);
}
}
推薦閱讀
Android版-微信APP支付
極速開發微信公眾號之微信買單
極速開發微信公眾號之公眾號支付
極速開發微信公眾號之掃碼支付
極速開發微信公眾號之刷卡支付
極速開發微信公眾號之現金紅包
Android版-支付寶APP支付支付寶Wap支付
記錄學習的點滴,以此勉勵不斷奮斗的自己?????? 如果對你有幫助記得點喜歡
源碼下載地址