1. 程式人生 > >關於點選連結開啟微信再跳轉到微信內部瀏覽器ticket獲取演算法介面規則

關於點選連結開啟微信再跳轉到微信內部瀏覽器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中:

  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="UTF-8">

  5. <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">

  6. <title>開啟微信</title>

  7. </head>

  8. <body>

  9. <a href="weixin://dl/business/?ticket=t93f088d67f8e629a854e878a19f31cbd" class="dl-btn" id="download">開啟微信</a>

  10. </body>

  11. </html>

通過adb把上面的html push到手機內,用瀏覽器開啟,點選跳轉,發現跳轉到了微信中,並打開了微信京東首頁。

為什麼會這樣呢?我們寫的是淘寶首頁,結果跳轉到了京東。應該是京東的介面做了校驗,非京東域名下的都跳轉到自家的首頁。

當然微信不僅給了京東跳轉的方式、頁授權了藝龍、攜程等合作商。網上很多號稱給他錢可以給你實現跳轉的大多都是找合作商的漏洞,借雞生蛋,用別人的服務生成ticket實現跳轉。當然也有那微信跳轉服務騙人的,錢給了,人跑了。所以如果玩玩可以找找別人的漏洞.

成熟平臺www.wxticket.com