<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[php识别二维码与条形码之百度低调推出短网址服务dwz.cn，用在百度分享的二维码里了，微信扫描二维码登录网页是什么原理？]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 21 May 2015 01:41:25 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	短网址服务，很多人都已经不再陌生，如今社交产品和搜索引擎纷纷推出短网址服务。Google推出了短网址服务goo.gl、g.co，Twitter推出了t.co，新浪微博推出了t.cn，还有腾讯微博的url.cn等等。而今百度也加入了这个行列，推出了dwz.cn短网址。 <br/><br/>2010年8月百度曾推出过短网址服务，为go.baidu.com，此域名被网友戏称为“域名最长的短网址服务”，后来百度很快就关闭了服务。此服务再次推出，使用了新域名dwz.cn，dwz是短网址拼音的首位字母缩写。<br/><br/>经whois查询得知，dwz.cn域名于2005年4月注册，目前域名信息已变更至百度公司名下，据业内人士表示，域名dwz.cn系百度收购所得，具体成交金额并未透露。不过国内域名交易平台—名商网的资深经纪人表示，3字母的cn域名价格一般都是在5位数左右，记者查询名商网上的3字母域名出售价格发现tyq.cn域名一口价3,000元，而贵的mnl.cn域名也只是要价15,000元，由此可以推测百度收购dwz.cn域名价格不会太高。<br/><br/>目前dwz的主流后缀均已经被注册，其中dwz.com在美国人手中，dwz.com.cn则被北京德威治医药连锁有限责任公司用作企业官网。<br/><br/>案例：百度微信二维码分享的二维码图片，解析一个看看是这样的：<br/>格式：QR-Code<br/>内容：http://dwz.cn/IWvXI<br/><br/>解析图片的地址：<br/>http://demo.geekso.com/qrcode/current/tools<br/><br/>这个工具还能识别条形码呢？<br/>传一个条型码上去后，识别出来核对发现是正确的：<br/><br/>识别结果<br/>格式：EAN-13<br/><br/>内容：6937526503743<br/><br/><br/>所花时间：0.011550903320312<br/><br/><br/>试一个微信登录的验证码：<br/>格式：QR-Code<br/>内容：http://weixin.qq.com/x/AU12KqUlH1LwKPcBUpAJ<br/><br/>再试一个PC客户端的验证码：<br/>格式：QR-Code<br/>内容：http://weixin.qq.com/x/ASyhiIev6yVowLDZrsxl<br/><br/>再再试一个PC客户端的验证码：<br/>格式：QR-Code<br/>内容：http://weixin.qq.com/x/AV_wDVYd9z7aTCj77rhh<br/>每打开一次微信网页版页面的时候会随机生成一个含有唯一uid的二维码，每次刷新页面都会不一样（这个可以保证一个uid只可以绑定一个账号和密码，如果一个uid可以绑定多个账号和密码，那么很可能你的电脑会登陆别人的微信哦）<br/>（x后面的数码值不一样，应该是某种标识，这个标识可能是和手机端通信的一个特殊标志位。）<br/>确实返回了唯一 id，但目的是为了识别用户身份，而且实际上打开这个页面的时候浏览器已经和 Server 创建了一个长连接等待确认信息。<br/><br/>使用登陆后的微信扫描该二维码的时候，会将这个id和手机上的微信账号及密码绑定，并上传到微信网页版。<br/><br/>浏览器展示完长连接里包含的用户信息（头像等）后，会新开一个长连接等待客户端的确认操作，<br/>从体感来看，怎么着都不可能是页面1-2秒轮询发起GET请求的，实际是通过堵塞等待的长连接，近乎实时的获得信息。 （这个应该像nginx有类似的长连接事件驱动插件）<br/><br/>客户端确定登录成功请求了一个Url：<br/>http://short.weixin.qq.com/cgi-bin/micromsg-bin/extdeviceloginconfirmok<br/><br/>拉我本人的头像链接：<br/>http://wx.qlogo.cn/mmhead/ver_1/waWFJgkZsUDRLHiaicRUtciciajfjWYs51ia9rCrWRDFoiav4vIehxImHppzaB9tpF5wUyBVork0jR7DjaKJ4QSqXB1Q/0?randid=6772<br/><br/>这个估计是通知谁上线了吧（信息是从服务端返回时就已经加密了的看不到真实内容,我个人估计连Cookie都是放在base64包里进行传输的：This request did not send any cookie data.<br/>）：<br/>http://short.weixin.qq.com/cgi-bin/micromsg-bin/statusnotify<br/><br/>有没有消息作个消息同步请求：filename=micromsgresp.dat<br/>http://short.weixin.qq.com/cgi-bin/micromsg-bin/mmsnssync<br/>#&nbsp;&nbsp;Result&nbsp;&nbsp;Protocol&nbsp;&nbsp;Host&nbsp;&nbsp;URL&nbsp;&nbsp;Body&nbsp;&nbsp;Caching&nbsp;&nbsp;Content-Type&nbsp;&nbsp;Process&nbsp;&nbsp;Comments&nbsp;&nbsp;Custom&nbsp;&nbsp;<br/>4&nbsp;&nbsp;200&nbsp;&nbsp;HTTP&nbsp;&nbsp;short.weixin.qq.com&nbsp;&nbsp;/cgi-bin/micromsg-bin/mmsnssync&nbsp;&nbsp;1,617&nbsp;&nbsp;&nbsp;&nbsp;application/octet-stream<br/>POST http://short.weixin.qq.com/cgi-bin/micromsg-bin/getupdateinfo //检查版本更新<br/>200 OK (application/octet-stream)<br/>Content-Disposition: attachment; filename=micromsgresp.dat<br/>Content-Length: 94<br/>Content-Type: application/octet-stream<br/>Connection: close<br/>data:application/octet-stream;base64,el8AAAAAAJo4D8tCCA8bQh9cbV6RU4VmAHE5OQAAqdUlTCaKMpirKWKzwjBUbwQHkLqmjIErUMDNq6VIxOKn1T9MRBAAnUIgREZ3+tx+XewRORJ1naCw09rRSrq7rw==<br/><br/>获取用户的头像Http地址信息：<br/>http://short.weixin.qq.com/cgi-bin/micromsg-bin/batchgetheadimg<br/><br/>抓一个看到，的确是用户头像，如这个：<br/>http://wx.qlogo.cn/mmhead/ver_1/z6OgOwB1t6HiaQWF6n6KfEsP9O4CeEvDhUYujWrsRvSib0Fa7DYyYtu7UzzMEkNZ1A8cUh5Wlvy69PQuQ8AViaZbsaSaXnDcgYmkTgxpOheIx8/132?randid=673<br/><br/>获取在线情况：<br/>http://short.weixin.qq.com/cgi-bin/micromsg-bin/getonlineinfo<br/><br/><br/> 正在输入 ：<br/> http://minorshort.weixin.qq.com/cgi-bin/micromsg-bin/clientperfreport<br/><br/>如果长时间不登录，重新扫码登录时，会向服务端请求一次（估计是销毁掉PC客户端的标识罢）：<br/>http://short.weixin.qq.com/cgi-bin/micromsg-bin/extdeviceloginconfirmcancel<br/><br/>所以说，核心过程应该是：浏览器获得一个临时 id，通过长连接等待客户端扫描带有此 id 的二维码后，从长连接中获得客户端上报给 server 的帐号信息进行展示。 并在客户端点击确认后，获得服务器授信的令牌，进行随后的信息交互过程。 在超时、网络断开、其他设备上登录后，此前获得的令牌或丢失、或失效，对授权过程形成有效的安全防护。 <br/><br/><br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] php识别二维码与条形码之百度低调推出短网址服务dwz.cn，用在百度分享的二维码里了，微信扫描二维码登录网页是什么原理？]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>