python模拟登录网课_Python 加密与重放方式登录 - 以模拟登录博客园为例

Python模拟登录第一弹见:【Python数据分析】Python模拟登录(一) requests.Session应用

上次的登录是最基本的,全部是明文,而且在浏览器中就可以看到POST的数据。接下来我们来个稍微难一点的–模拟登录博客园(www.cnblogs.com)

登录特点

用户名密码都进行了RSA加密,且在浏览器中无法看到POST数据

10dd4b21d249d9128609d311355c851c.png图1

如上图,在post数据中不能显式看到POST内容。

模拟登录步骤

既然浏览器调试功能无法探测到POST数据,那么采用Fiddler试试看,这是一款网络抓包工具,很好用。登录后看到

e4fdbc19543f479f592367d3f001a466.png图2

POST的数据是input1,input2和remember,这和分析signin页面的源代码所得结果一致。

b1cbef0775734b80f74f1874235ffcff.png图3

其中input1是加过密的用户名,input2是加过密的密码,remember表示记住还是不记住用户名。由于RSA的原理,加过密后的内容可以不一样,但是解密后的数据是一样的,那么我们就可以采用重放方式登录,即复制这些内容到我们的POST data中。

还要注意一个cookies的问题,cookies一定要选择正确,不要选下面的:

b39ec6b81658cf3bbe11053870a6f28f.png图4

因为这是登录页面的cookies,我们要用下面的cookies:

b2cbace0f046039f7d102b9b855637fe.png图5,即包含.CNBlogCookies的cookie,这也是主页的cookies。

为了验证登录是否成功,我们登录后打开followers页面,因为未登录前是无法看到任何用户的粉丝页面的。

还是利用requests.Session,写出如下代码: import requestsimport reimport jsonfrom bs4 import BeautifulSoups = requests.Session()headers = { 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Referer': 'http://passport.cnblogs.com/user/signin', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36', 'Cookie': '__gads=ID=fc58354935efbd89:T=1458638388:S=ALNI_MYEtsucyem4nWeL9mdxvQmfAZlTgQ; _ga=GA1.2.111229817.1458781632; .CNBlogsCookie=39EB7C846FF5A6CA5D762D210B954E55CE77A24D11C5203F6055DCAC93DFFF8EA7E405568F2D8CC9F00AFE43A859E71DE55AE6E79A030F7E74C231CECF7DA2DD88B734EA2ECA22DFED8C2ECAB85717B45434AABFE1202DA8266C7440562114D99D9C6767'}login_data = {'input1': '你的用户名加密后内容', 'input2': '你的密码加密后内容', 'remember': 'false' }url = 'http://passport.cnblogs.com/user/signin'req = s.post(url, data = login_data, headers=headers)print(req.status_code) #200print(req.content.decode()) #{"success":false,"message":"您已处于登录状态"}f = s.get('http://home.cnblogs.com/u/whatbeg/followers/1', headers=headers)print(f.status_code)print(f.text)

然后运行有:

4ca4115d20bae8b2083613ef3148b3e1.png图6

83d0fc501fb7d786cfec3fcccd002c02.png图7

显示成功登录。

这样,就可以登录这种用RSA加密的用户名密码的非https且不需要验证码的网站了。希望对需要的人有所帮助。

本文工作仅供交流学习用,请勿利用做出任何不遵守网络公德的行为。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值