顺丰小哥给我个二维码下载 APP ,我用没装微信的手机无法打开,而装了微信的手机用浏览器也能直接打开。
这是怎么实现的?是微信在本地开个服务器吗?
(以下是下载页链接,不是含推广的原始链接)
https://m.sf-pay.com/sfpay-openapi/inviteFriends?appOther=
1
abelyao 2015-09-24 17:56:01 +08:00
到底是打开 APP 还是打开链接…?
没装微信的手机打不开顺丰的 APP …? 装了微信的手机用浏览器能打开 APP …? |
2
qiayue 2015-09-24 17:58:42 +08:00
退一万步来说,真是微信开了服务器,顺丰也用不了啊
|
3
Tink 2015-09-24 18:00:19 +08:00 via iPhone
这跟微信有啥关系
|
4
expkzb 2015-09-24 18:01:24 +08:00
你拿装了微信的那个手机,把微信删掉,看看你的推理成立么
|
5
honeycomb 2015-09-24 18:13:07 +08:00 via Android 1
这是有可能的,因为微信有可能在本地开了端口,而浏览器页面上的代码可以访问本机回环地址的这个端口
|
6
zeayes 2015-09-24 18:15:07 +08:00
二维码就是把一个地址按一定算法生成的一张图片而已,这个算法是可逆的,没服务器啥事啊。
|
7
Quaintjade OP |
8
beordle 2015-09-25 01:22:45 +08:00 via iPhone 2
网页里有 js js 会检测 wechat://foobar 是否可以访问 不可以就伪装一个 404 页面 这是微信通过系统 api 注册的一个协议 在 android 上叫什么就要客户端开发回答一下了
|
9
Quaintjade OP @beordle
但我在浏览器 F12 开发者工具里看了一下,没看到 js 啊,直接返回了这个 404 页面,不知道是从哪里调用 wechat:// 的? 这个 404 页确实是伪装的,因为返回的 HTTP 状态是 200 。 |
10
beordle 2015-09-25 18:27:23 +08:00 via iPhone
@Quaintjade 这个不确定了 可能是必须要移动设备的 header 服务器那边才返回对应的 html 吧 至少上述思路是事实可行的一种 我用手机回答 也懒得分析了哈
|
11
Quaintjade OP @beordle
试过模拟那个手机的 user agent ,依然 404 。看 header 也没看出有哪里可以区别…… |