[模拟登陆三剑客]3. 使用Python实现模拟登陆

[模拟登陆三剑客]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篇博客介绍了:

  1. 如何使用fiddler
  2. 如何分析登录报文
  3. 如何用python实现报文模拟

利用Fiddler和python,可以做很多事情,大家可以自己发掘哈!
能力有限,欢迎找茬


猜你喜欢

转载自blog.csdn.net/basicworld/article/details/50408084