關於點選連結開啟微信再跳轉到微信內部瀏覽器ticket獲取演算法介面規則
最近一朋友的客戶有這麼一需求,引導使用者去關注公眾號。想這麼幹,通過網頁跳轉到微信並開啟帶有二維碼的網頁,使用者長按識別二維碼就可以關注了。
想法很好,對於這種方式我是懷疑的,於是去查資料。微信有個協議可以實現跳轉,如下:
weixin://dl/business/?ticket=
關鍵就是ticket對應的引數是什麼,這裡的ticket和我們要跳轉的url有什麼關係呢?
- ticket對應的引數就是我們要跳轉網頁的標記;
- ticket需要動態獲取,有效期大約10分鐘;
- tieket不是誰都可以獲取,微信只授權給了一些合作商;
http://wq.jd.com/mjgj/link/?callback=getOpenLink&rurl=urlencode(要跳轉的連結)
但是京東只能跳轉到jd.com域名的地址,我們用淘寶的地址試試:
https://www.taobao.com UrlEncode之後 https%3a%2f%2fwww.taobao.com,然後拼到接口裡。
得到如下:
try{getOpenLink({"errcode":0,"openlink":"weixin://dl/business/?ticket=t93f088d67f8e629a854e878a19f31cbd"});}catch(e){}
把openlink放到html中:
-
<!DOCTYPE html>
-
<html>
-
<head>
-
<meta charset="UTF-8">
-
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
-
<title>開啟微信</title>
-
</head>
-
<body>
-
<a href="weixin://dl/business/?ticket=t93f088d67f8e629a854e878a19f31cbd" class="dl-btn" id="download">開啟微信</a>
-
</body>
-
</html>
通過adb把上面的html push到手機內,用瀏覽器開啟,點選跳轉,發現跳轉到了微信中,並打開了微信京東首頁。
為什麼會這樣呢?我們寫的是淘寶首頁,結果跳轉到了京東。應該是京東的介面做了校驗,非京東域名下的都跳轉到自家的首頁。
當然微信不僅給了京東跳轉的方式、頁授權了藝龍、攜程等合作商。網上很多號稱給他錢可以給你實現跳轉的大多都是找合作商的漏洞,借雞生蛋,用別人的服務生成ticket實現跳轉。當然也有那微信跳轉服務騙人的,錢給了,人跑了。所以如果玩玩可以找找別人的漏洞.
成熟平臺www.wxticket.com