【Python模拟登录】RSA加密与重放方式登录 -以模拟登录博客园为例
Python模拟登录第一弹见:【Python数据分析】Python模拟登录(一) requests.Session应用
上次的登录是最基本的,全部是明文,而且在浏览器中就可以看到POST的数据。接下来我们来个稍微难一点的–模拟登录博客园(http://www.cnblogs.com)
登录特点:用户名密码都进行了RSA加密,且在浏览器中无法看到POST数据
模拟登录步骤
既然浏览器调试功能无法探测到POST数据,那么采用Fiddler试试看,这是一款网络抓包工具,很好用。登录后看到
import requests import re import json from bs4 import BeautifulSoup s = 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) #200 print(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)
然后运行有:
本文工作仅供交流学习用,请勿利用做出任何不遵守网络公德的行为。
原文地址:http://whatbeg.com/2016/04/14/logincnblogs.html
作者:whatbeg
出处1:http://whatbeg.com/
出处2:http://www.cnblogs.com/whatbeg/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
更多精彩文章抢先看?详见我的独立博客: whatbeg.com