最近为浏览某安全论坛,注册了ID。由于ID较新,很多板块及功能受限。网站规定每天在线一定时间,并每隔5分钟有点击动作,会增加经验(为啥总有这种奇葩的要求啊。。。)。于是考虑通过自动登录刷新的方式在线挂机,增加经验值,争取尽快“转正”。

自动登录功能以前也做过比较多,机械化工作,直接开搞。
思路:
1)、清缓存,Chrome F12或 IE HTTPWatch,抓HTTP包。发现是POST提交
2)、登录网站,分析提交字段用户名明文,密码为密串。
3)、打开源文件,看到οnsubmit=“md5(key, html, ..)”的调用,预估为md5加密,打开js,发现使用的是RSA写的js版本MD5加密算法 ,BFD lic.
4)、Fresh几次页面,所有Cookie由Set-Cookie设置。使用Python时,直接使用cookie模块,不需要手动编辑cookie。
经典三行代码如下:
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
urllib2.install_opener(opener)
5)、初始化Url、Cookie、构建Post Request ,发送请求

6)、返回页面正常,每2分钟刷新一次首页即可。


由于网络不稳定,在刷新页面时可能会报getaddrinfo错误,注意在循环刷新时处理相关异常,并设置定时重发。