[模拟登陆三剑客]3. 使用Python实现模拟登陆
目的
模拟登陆三剑客之“使用Python实现模拟登陆”。使用python的requests模块进行模拟登陆,简单方便
工具
Win7 32/64 位, Fiddler, Chrome/IE
说明
#3(井号+数字) 在文中表示:图中的蓝色圆形标号
需要构造的报文
经过精简,需要构造的报文是这样的,如下图所示,#5 表示这样的报文是可以成功登陆的。:
python代码
直接上代码,几行就够了有木有!!
# -*- coding:utf8 -*-
import requests
'''
用于登录lvye.com
'''
url = "http://www.lvye.org/user.php"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "www.lvye.org",
"Content-Length": "39",
}
post_data = {
"uname": "用户名",
"pass": "密码",
"op": "login",
}
resp = requests.post(url, headers=headers, data=post_data, allow_redirects=False)
if resp.status_code == 200:
print 'response headers is:'
print resp.headers
print resp.text
if 'Set-Cookie' in resp.headers:
print 'login success!!'
如何判断登陆成功的呢?看下图:
解释:往往登陆成功网站返回的headers里都有特定的一些cookie,用这可判断就可以
后记
[模拟登陆三剑客]系列到此结束。3篇博客介绍了:
- 如何使用fiddler
- 如何分析登录报文
- 如何用python实现报文模拟
利用Fiddler和python,可以做很多事情,大家可以自己发掘哈!
能力有限,欢迎找茬