python实现自动登录后台管理系统

 更新时间:2018年10月18日 08:55:55   作者:masserd   我要评论

这篇文章主要为大家详细介绍了python实现自动登录后台管理系统,并进行后续操作,具有一定的参考价值,?#34892;?#36259;的小伙伴们可以参?#23478;?#19979;

本文实例为大家分享了python实现自动登录后台管理系统的具体代码,供大家参考,具体内容如下

首先?#34892;?#19979;网络?#31995;?#21508;位大神和博主,通过学习各位大神的文章,才实现了该脚本

①首先浏览器运行真是系统通过fiddler抓包,抓取到登录地址(后面的地址和头部信息等都是通过fiddler抓取的)

并获取头信息,header信息里面Accept-Encoding: gzip, deflate去掉吧,免得后面提取页面的url时无法解码,通过代码实现后,这个时候回返回html文本,从文本里面获取下一步要进入的系统的地址,这个地址已经附上cookie即token了,只有经过了这一步请求,才能进行下一步的对系统里面的内容进行操作(之前没有经过这一步,就进行了具体操作的url请求,总是返回重定位到登录界面)。

②然后再进行这个带token的url的请求

③请求完成后即可进行想要的操作了

下面直接上代码,有一些信息是公司的信息,我直接屏?#20301;?#25104;通用字符串

# coding=utf-8
import urllib.request
import urllib
import http.cookiejar
from database_functions import *
import re
 
 
# 正则表达式匹配规则
regx = re.compile(r'(.*)(href=\")(.*)(\"\starget=.*bms.*)')
 
 
# 定义一个方法用于生成请求头信息,处理cookie
def getopener(head):
 
  cj = http.cookiejar.CookieJar()
  pro = urllib.request.HTTPCookieProcessor(cj)
  opener = urllib.request.build_opener(pro)
  header = []
  for key, value in head.items():
    elem = (key, value)
    header.append(elem)
  opener.addheaders = header
  return opener
 
 
def modify_appeal_status_pass(phone):
 
  index, status = get_appeal_by_phone(phone)
  # 封装头信息,伪装成浏览器
  header = {
    'Connection': 'Keep-Alive',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Accept': 'application/json, text/javascript,text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
    'Host': 'xxx.xxx.xxx',
  }
 
  # 登录地址
  login_url = 'http://xxx.xxx.xxx/xx-xxx/login.do'
 
  # request封装cookie和头信息
  opener = getopener(header)
  urllib.request.install_opener(opener)
 
  username = '***' # 你的用户名
  password = '***' # 你的密码
  postdict = {
    'username': username,
    'password': password
  }
 
  # 登录请求
  postdata = urllib.parse.urlencode(postdict).encode('utf-8')
  login_response = urllib.request.Request(login_url, data=postdata, headers=header) #登录系统
  login_webpage = urllib.request.urlopen(login_response)
  # 返回的html页面
  login_data = login_webpage.read().decode()
 
  # 获取系统地址
  bms_url = regx.findall(login_data)[0][2]
  # 请求xxxx
  bms_response = urllib.request.Request(bms_url, headers=header)
  bms_webpage = urllib.request.urlopen(bms_response)
  # 返回的系统后台页面
  bms_data = bms_webpage.read().decode()
 
  # 对xx状态进行修改
  update_url = "http://xxx.xxx.xxx/xxx/xxx/xxx/xxx/{index}".format(index=index)
  update_response = urllib.request.Request(update_url, headers=header)
  update_webpage = urllib.request.urlopen(update_response)
  update_data = update_webpage.read().decode()
  print(update_data) 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python制作Windows系统服务

    Python制作Windows系统服务

    这篇文章主要为大家详细介绍了Python制作Windows系统服务的相关资?#24076;?#20855;有一定的参考价值,?#34892;?#36259;的小伙伴们可以参?#23478;?#19979;
    2017-03-03
  • ?#31243;窹ython中的可变对象和不可变对象

    ?#31243;窹ython中的可变对象和不可变对象

    下面小编就为大家带来一篇?#31243;窹ython中的可变对象和不可变对象。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Python设计模式之职责链模式原理与用法实例分析

    Python设计模式之职责链模式原理与用法实例分析

    这篇文章主要介绍了Python设计模式之职责链模式,结合具体实例形式分析了Python责任链模式的概念、原理、定义与使用方法,需要的朋友可以参考下
    2019-01-01
  • python处理cookie详解

    python处理cookie详解

    Cookie用于服务器实现会话,用户登录及相关功能时进行状态管理,本文介绍了使用python处理cookie的方法,需要的朋友可以参考下
    2014-02-02
  • Python解惑之整数比较详解

    Python解惑之整数比较详解

    这篇文章主要给大家介绍了Python中整数比?#31995;?#30456;关资?#24076;?#25991;中通过示例代码介绍的非常详细,详细会对大家学习python的整数具有一定的参考价值,需要的朋友下面跟着小编一起来学习学习吧。
    2017-04-04
  • python实现的解析crontab配置文件代码

    python实现的解析crontab配置文件代码

    这篇文章主要介绍了python实现的解析crontab配置文件代码,也可以说是python版的crontab,代码中包含大量注释,需要的朋友可以参考下
    2014-06-06
  • 对python判断ip是否可达的实例详解

    对python判断ip是否可达的实例详解

    今天小编就为大家分享一篇对python判断ip是否可达的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python2.x与Python3.x的区别

    Python2.x与Python3.x的区别

    这篇文章主要介绍了Python2.x与Python3.x的区别的相关资料,需要的朋友可以参考下
    2016-01-01
  • Python装饰器实现几类验证功能做法实例

    Python装饰器实现几类验证功能做法实例

    下面小编就为大家带来一篇Python装饰器实现几类验证功能做法实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 新手如何快速入门Python(菜鸟必看篇)

    新手如何快速入门Python(菜鸟必看篇)

    下面小编就为大家带来一篇新手如何快速入门Python(菜鸟必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论

辽宁35选7开奖结果
3d判断组三组六 360彩票二分彩 华东15选5晚上几点开奖 上海时时乐组三技巧 北京11选5走势图手机板 吉林快3三不同中奖率 新浪彩票官网首页 老时时彩全部开奖号码 上海基诺彩票开奖结果 双色球基本走势图新浪体育 大小合伙开连码肖 新疆时时彩中奖号规律 韩国快乐8开奖 内蒙古快三走势图31号 大乐透尾号分布图南方