python模拟登录(一)

有时候,写点自动签到啊,刷帖发评论啊这一类的小脚本的时候,登录态大部分时候那都是必须的。所以呢,模拟登陆神马的,必不可少了。

今天就说说第一步

知己知彼不可少,此时,我们就需要各种抓包利器了,什么httpwatch,firefox和chrome开发者工具,喜欢哪款用哪款。

我就以httpwatch为例,抓包分析新浪微博的登录过程,输入账号密码,登录之后,我们来看看都是有哪些交互过程。



这条请求很明显就是我们需要的登录请求,post方法发送账号密码和相关登录信息。

然后再看看具体的post数据



一大串参数。我们可以根据参数命名,很容易知道部分参数是什么。如果不太好确定,可以尝试登录多个账号,然后把几次登录的参数信息对比一下。就能大致确定各个参数的意义了。

sp和su,应该就是指Password和Username了。这两个就是我们最需要的东西。

encoding,entry,pwencode,returntype,service,url这些个东西,看名字就知道了,基本照抄就行。其余参数,无法确定的话,也全部照搬吧,我们就先依葫芦画瓢。

但值得注意的是,servertime这个时间戳,服务器时间,这个东西我们可没有,另外,如果尝试多个账号登陆对比,会发现,nonce,rsakv 这两个参数也是每次不一样的。这些参数的值从何而来呢,想来应该是在发出这个post请求之前,就应该获取到了才对。

于是我们需要仔细看看之前的抓包结果


原来,在执行登录操作之前,还有一个prelogin的过程。

这是一个get方法,请求的url后面的参数中,su这个参数肯定是需要修改的,其他参数,不知道的话,老规矩,照搬。

然后再看看返回数据里面的都有些什么东西呢。


好家伙,这里全部都有。

至此,登陆的步骤算是搞清楚了:首先从prelogin获取几个参数,然后用这些参数加上账号信息,向服务器请求登录。

进一步分析,发现post的sp,su字段都是加密之后的。接下来,就需要具体分析是如何加密账号密码的了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值