移动平台少不了跟二维码打交道,关于二维码,有篇好文章推荐
目前我想实现一个功能,扫描二维码实现,当采用扫码app时转到软件市场下载,当采用已安装的指定app时自动登录,就想到了一个方案:
以下载apk链接作为url并且后面接上登录使用的身份密钥,
可是,这样的字符串好长啊!
我们知道二维码只能针对文本进行编码,并且如果字符串越长,可能越大,当然可以缩放可能又会导致扫描的时候验别率下降
咋办呢?
想到了微博用的短域名方案,经常见到的t.cn,经研究,只允许在weibo内部使用,并没有开放的api。
这个时候,还是百度和google解决问题
http://goo.gl/
http://dwz.cn/
其中,goo.gl号称最快的短域名服务,可惜某些原因,你懂的。。甚至直接在线二维码生成的功能,都省了后台的事了。。
好吧,回到正题,百度可以解决问题,通过post接口到指定的url可以得到longurl 及 tinyurl的相互转换,访问短url直接自动跳转
linux下用上万能的curl
curl -d "url=http://www.baidu.com/s?wd=%E7%9F%AD%E5%9F%9F%E5%90%8D%E6%9C%8D%E5%8A%A1&rsv_spt=1&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg" dwz.cn/create.php
响应:
{"tinyurl":"http://dwz.cn/wP01K","status":0,"longurl":"http://www.baidu.com/s?wd=短域名服务","err_msg":""}
然后再使用短域名获得长在址
curl -d "tinyurl=http://dwz.cn/wP01K" dwz.cn/query.php
响应:
{"status":0,"longurl":"http://www.baidu.com/s?wd=短域名服务"}
如果直接访问将跳转
http://dwz.cn/wP01K