Python Request库模拟登录

Python07

Python Request库模拟登录,第1张

1.读取本地用户文件,或者账号名和密码

2.使用md5对用户密码进行加密

3.获取session的临时随机串及sessionid

4.对随机串及用户密码进行二次md5加密生成新的请求秘钥串

5.传递用户名、新的秘钥串及sessionid模拟用户登录

那么你在用爬虫爬取的时候获得的页面究竟是哪个呢?

肯定是第二个,不可能说你不用登录就可以访问到一个用户自己的主页信息,那么是什么让同一个URL在爬虫访问时出现不同内容的情况呢?

在第一篇中我们提到了一个概念,cookie,因为HTTP是无状态的,所以对方服务器并不知道这次请求到底来自于谁,就好像突然你收到了一封信,上面让你给他寄一些东西,但是信上却没有他的联系方式。

在HTTP中也是如此,我们普通的请求都类似于匿名信,而cookie的出现,就是让这封信上盖上了你自己的名字。

在请求时附带上你的cookie,服务器放就会知道这次请求来自于谁,然后你点击个人信息页,服务器就知道是要返回这个cookie对应的用户的信息页了。

在谷歌浏览器中,你可以在控制台Application里面找到当前网站的所有cookie键值对。一般来说用于确认你个人信息的只有一个键值对,但是你也可以把所有的都用上,并不能保证对方服务器是不是对某些键值对也进行检查了。

很多网站在你没有登录的情况下并不会给过多的数据让你看,所以你的爬虫需要进行一次模拟登录。

模拟登录需要从一个网站的登录界面开始,因为我们要在这里用爬虫发送post请求附带账号密码来登录对方网站。

1.这要看个家APP具体实现登录逻辑

2.大部分登录方法都是post方法,就用urllib包足以

3.模拟一个请求头,因为大部分公司都会过滤掉非真实用户请求

4.拦截抓包,看他们家的协议组成,推荐用

Charles

5.如果他们做了通信签名,反编译他们的apk包,寻找对应的加密密钥。如果做了混淆,我暂时没做过这块破解,抱歉。