byhh登陆脚本

弄了两天,总算搞定了byhh的登陆脚本,说来多少还有点惭愧啊,自以为非常了解http协议,原来探究一番才发现还有很多精髓的东东却没有注意。Evil is in The Detail!

一开始就是网上流传的使用urllib2的HTTPCookieProcessor去处理网站登陆时候的cookie,即使后来用的httplib2也是这样的思路(只是代码更加简洁一点)。这样处理原则上没有问题,但是具体问题也要具体分析。一般的过程是在登陆之后,在response中处理set-cookie字段,如果是单页面的话一般set-cookie是存在的,但是byhh的程序已经很久了,用的是框架,所以set-cookie不存在,上面的方案也就有问题了。根据分析的结果,登陆后返回一个包含javascript的页面,要手动解析设置cookie,这里需要用正则表达式去处理了,得到了cookie基本就没有什么问题了,只用在后续的页面访问头部加上Cookie就可以了。不过奇怪的事就是每次返回的页面中cookie包含两个:你当前登陆的id和guest的,不知道为什么是这样的,程序有时间再贴出来吧。

posted @ 2009-01-11 23:53  yangli  阅读(840)  评论(0编辑  收藏  举报