前面发了个人人登录的代码http://cnodejs.org/topic/51ce18bb73c638f3706ca7bb
这次把微博的也发出来吧。微博采用模拟登录的好处是:目前微博用的appkey的方式有超时时间,一般是24小时,也就是每天要授权一次。用模拟登录的话目前我发现cookie还没有失效过。 微博和人人的不同点在于: 1.微博查询rsa加密参数和查询是否需要验证码是在同一次请求中完成的,而人人要分两次查。 2.另外微博用的是rsa2加密,需要使用sina自己的rsa2加密库。这个文件我也会提供。 3.人人返回直接是json数据,微博需要从返回字符串中匹配出内容。其他的流程还是类似的。 var ajaxLogin=function(){ Step( getWeiboRsa, //获取rsa加密参数和是否需要验证码 parseEncryptKey, //从返回字符串中匹配出RSA加密用的参数、是否需要验证码 getPinImage, //获取验证码 login, //登录 loginJump, //登录是否成功,成功的话继续跳转获取用户信息 loginGetUserInfo, //处理一次302跳转 parseUserInfo //从返回字符串解析出用户信息 ); }
代码(包括那个rsa加密文件)比较多了,就不贴了。 需要的话在csdn上下载好了。http://download.csdn.net/detail/sxyizhiren/5671497 csdn没积分的也可以直接发我邮件,我直接发你786647787@qq.com
ps:这个依赖的库中iconv-lite不能用最新的,要用0.2.9