如何利用m.jr.jd.com唤起微信ticket规则生成方法跳转任意链接网址

分析
连接是个短链:m.jr.jd.com。放浏览器里访问,解析出完整的地址:
http://www.wxticket.com/wb/0e7d51958ac79557b5ecafc582ab62d0.html。打开调试器看了下,页面中除了百度统计代码外,核心代码如下:


if(!/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent) && / baiduboxapp/i.test(navigator.userAgent)){
window.location.replace('bdbox://utils?action=sendIntent&minver=7.4&params=%7B%22intent%22%3A%22weixin%3A%2F%2Fdl%2Fbusiness%2F%3Fticket%3Dt59a2235a3662135bfb0e8f7edccc22c5%23wechat_redirect%23wechat_redirect%23Intent%3Bend%22%7D');
}else{
window.location.replace('weixin://dl/business/?ticket=t59a2235a3662135bfb0e8f7edccc22c5#wechat_redirect#wechat_redirect');
}
setTimeout(function(){document.getElementById("loading").style.display="none";},3000);

代码的逻辑是,判断不是苹果的设备,并且访问 UA 中包含 baiduboxapp 字符,修改页面连接为
bdbox://utils?action=sendIntent&minver=7.4&params=%7B%22intent%22%3A%22weixin%3A%2F%2Fdl%2Fbusiness%2F%3Fticket%3Dt59a2235a3662135bfb0e8f7edccc22c5%23wechat_redirect%23wechat_redirect%23Intent%3Bend%22%7D,
否则修改页面连接为
weixin://dl/business/?ticket=t59a2235a3662135bfb0e8f7edccc22c5#wechat_redirect#wechat_redirect。

因为研究微信唤起,先不看 baiduboxapp,直接看微信唤起短链 weixin://dl/business,谷歌搜索下发现是微信第三方公众号临时会话接口。这是一个内部的隐藏接口。链接中看到短链有个 ticket 参数,多刷新几次页面,ticket 参数会发生变化,但是唤起页面的连接没有变。现在关键点成了怎么根据自己的页面生成合法的 ticket 参数。

在想怎么生成 ticket 的时候,自然会想到微信是如何解析这个参数的,看看能不能从解析的逻辑中反推出生成的逻辑。

猜你喜欢

转载自www.cnblogs.com/ticket/p/10140746.html
今日推荐