详细介绍python实现自动登录后台管理系统

  • 更新时间:2020-02-04 20:14:11
  • 编辑:沃子昂

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

首先感谢下网络上的各位大神和博主,通过学习各位大神的文章,才实现了该脚本

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

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

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

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

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

下面直接上代码,有一些信息是公司的信息,我直接屏蔽换成通用字符串

# 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编程的习惯整理

    本文主要和大家分享python编程的一些习惯,主要以代码的方式和大家讲解,希望能帮助到大家。

    发布时间:2020-07-21

  • python3的输入方式及多组输入方法

    今天小编就为大家分享一篇python3的输入方式及多组输入方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    发布时间:2019-06-03

  • 《编程的乐趣:用Python解算法谜题》配套源码

    《编程的乐趣:用Python解算法谜题》配套源码

    非常少有入门程序编写的人想要以便程序编写而程序编写,这书自主创新地根据求出趣味的迷题来专家教授用户程序编写,为枯燥乏味的编程学习全过程引入了较强的挑战性,迷题是来源于真

    大小:67 KBPython算法配套资源

  • Python数据科学手册

    Python数据科学手册

    这本书是以数据深度需求为中心的科学、研究以及针对计算和统计方法的参考书,讲述了个Python数据科学中的重点工具包、Matplotlib、NumPy等对象

    大小:12.4 MBPython电子书

  • 少博士趣学Python

    少博士趣学Python

    本资源是原版的 视频全课程+作业内容 要学Python?想撰写好用的程序流程?沒有程序编写工作经验? 一切正常,挑选这这书就可以了!不必代码、新手入门的Python程序编写书! 72个案例(比如无

    大小:266.7 MBPython电子书

  • 小白入门宝典:Python快速入门魔力手册

    小白入门宝典:Python快速入门魔力手册

    本教程全新的介绍了Python入门基础,以及各种各样的错误避免,以通俗易懂的语言,讲述Python开发,欢迎下载

    大小:11.8 MBpython入门电子书

  • Python编程导论(第2版)

    Python编程导论(第2版)

    《Python编程导论 第2版》基于python3.5讲解计算机编程思想科学导论的入门书 麻省理工MIT热门MOOC教材,计算机科学基础知识教程,掌握用计算思维解决问题的能力。

    大小:12.1MPython编程电子书

  • Python数据分析与数据化运营

    Python数据分析与数据化运营

    这书內容从逻辑性上共分成两绝大多数,第壹一部分是相关数据统计分析类的主题风格,其次一部分是相关数字化经营的主题风格。第壹一部分的內容包含1/2/3/4章和附则,关键详细介绍了Pyt

    大小:18 MBPython电子书

  • 对比Excel,轻松学习Python数据分析

    对比Excel,轻松学习Python数据分析

    Python尽管是这门计算机语言,可是在数据分析行业保持的作用和Excel的基本要素相同,而Excel也是大伙儿较为了解、非常容易入门的手机软件,能够根据Excel数据分析去比照学习培训Python数据分

    大小:25.8 MB数据分析电子书

  • 人人都懂设计模式:从生活中领悟设计模式(Python实现)

    人人都懂设计模式:从生活中领悟设计模式(Python实现)

    Python时期大话设计模式,定义通俗化保持简易程序流程强大接近实战演练,从經典设计模式到衍化的各种各样程序编写体制再到工作经验,程序员侧睡及BAT众权威专家力荐,程序猿牢固的基础

    大小:31.6 MBPython设计模式

用户留言