python模拟登录新浪微博

1.前言

从模拟登录这件事上,可以看出公司之间的技术水平,对安全的重视程度。之前做过豆瓣的模拟登录(链接),直接做一个post请求就OK,简直easy. 但是到新浪微博上,这个方法完全行不通,新浪微博简直了!!!各种加密,各种跳转,登录过程神烦!!!在参考了很多的博文,历经无数次失败之后,终于,我也成功登录上了!(●'◡'●)


2.登录过程分析

我一直用的是chrome浏览器,所以在开始做模拟登录的时候也是用chrome看登录过程,但是!并没有获得很多有用的信息,之后看网上很多推荐fiddler抓包,但是看着太乱了,也并没有真正去分析这个软件. 之后我转向了火狐,奇迹发现了,我看到了登录的全过程,网页的响应也很容易查看(chrome响应看不到的情况下也可以).因此,复杂的登录分析还是用火狐吧!

好,接下来就是见证奇迹的时刻,来看看登录到底经历了哪些过程:

首先,在输入用户名后,会进行预登录,网址为:http://login.sina.com.cn/sso/prelogin.php?entry=weibo&callback=sinaSSOController.preloginCallBack&su=ZW5nbGFuZHNldSU0MDE2My5jb20%3D&rsakt=mod&checkpin=1&client=ssologin.js(v1.4.18)&_=1443156845536,通过响应(sinaSSOController.preloginCallBack({"retcode":0,"servertime":1443156842,"pcid":"gz-e88b75a929252baec7c12c741985eaa45627","nonce":"2L4IZ3","pubkey":"EB2A38568661887FA180BDDB5CABD5F21C7BFD59C090CB2D245A87AC253062882729293E5506350508E7F9AA3BB77F4333231490F915F6D63C55FE2F08A49B353F444AD3993CACC02DB784ABBB8E42A9B1BBFFFB38BE18D78E87A0E41B9B8F73A928EE0CCEE1F6739884B9777E4FE9E88A1BBE495927AC4A799B3181D6442443","rsakv":"1330428213","showpin":0,"exectime":16})),我们可以获得四个有用的变量,servertime、nonce、pubkey和rsakv.

新浪微博的用户名加密目前采用Base64加密算法,而新浪微博登录密码的加密算法使用RSA2,这是模拟登陆的重点,需要先创建一个rsa公钥,公钥的两个参数新浪微博都给了固定值,第一个参数是登录第一步

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 26
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值