有朋友要我帮他写一个偶们家微博的客户端, 今天晚上研究了下登录过程, 主要用到了urllib2和cookielib这两个库. 第一次在python里面用cookie, 之前都是用curl搞定的, 于是记录下~

背景
登录地址: http://t.163.com/session
相关工具: firefox + httpfox

账号校验
首先在Firefox里面登录, 拿到这个过程的HTTP通讯记录. 为了避免已有的cookie对登录过程的影响, 我们用Firefox提供的隐私浏览模式来模拟一个完全没有cookie的用户的登录过程. 根据通讯记录来看, 登录过程首先校验了用户账号, 往http://t.163.com/account/passport/check这个url POST了用户名, 服务器返回一个json, 里面只有一个字段, status. 如果用户账号存在则值为0, 否则为1.
01.import urllib2
02.from urllib import urlencode
04.para = urlencode({'userName''xiaket@163.com'})
05.= urllib2.urlopen(url, para)
06.print f.read() # {"status": "0"}
07.para = urlencode({'userName''xiaket@163.cm'}) # no such account.
08.= urllib2.urlopen(url, para)
09.print f.read() # {"status": "1"}

相关文章: