当前位置:首页 > Python技术文章 > python实现自动登录后台管理系统

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

  • 发布时间:
  • 作者:码农之家原创
  • 点击:51

这篇文章主要知识点是关于python自动登录、python、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python机器学习:预测分析核心算法
  • 类型:Python机器学习大小:22.4 MB格式:PDF作者:鲍尔斯,沙嬴,李鹏
立即下载

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

本文实例为大家分享了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) 

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

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

推荐内容

idea2020注册激活码(激活到2100年)

实例分析Java实现的zip压缩及解压缩工具类

python3 pandas 如何读取MySQL数据和插入

ThinkPHP3.2.3框架如何实现分页功能

深入理解JS函数stack size计算方法

展开 +

收起 -

python 相关电子书
学习笔记
网友NO.377559

python中关于import与reload以及 __import__的区别详解

这篇文章主要介绍了python中import reload __import__的区别详解,需要的朋友可以参考下 import 作用:导入/引入一个python标准模块,其中包括.py文件、带有__init__.py文件的目录(自定义模块)。 import module_name[,module1,...] from module import *|child[,child1,...] 注意:多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境。 实例: pythontab.py #!/usr/bin/env python #encoding: utf-8 import os print 'in pythontab',id(os) test.py #!/usr/bin/env python #encoding: utf-8 import pythontab #第一次会打印pythontab里面的语句 import os #再次导入os后,其内存地址和pythontab里面的是一样的,因此这里只是对os的本地引用 print 'in c',id(os) import pythontab #第二次不会打印pythontab里面的语句,因为没有重新加载 reload 作用:对已经加载的模块进行重新加载,一般用于原模块有变化等特……

网友NO.705782

python如何进行异常处理

python主要支持五种异常机制,分别举例。 默认的异常处理器 s = 'Hello girl!'print s[100]print 'continue' 如果我们没有对异常进行任何预防,那么在程序执行的过程中发生异常,就会中断程序,调用python默认的异常处理器,并在终端输出异常信息。这种情况下,第3行代码不会执行。 try…except s = 'Hello girl!'try: print s[100]except IndexError: print 'error...'print 'continue' 程序执行到第2句时发现try语句,进入try语句块执行,发生异常,回到try语句层,寻找后面是否有except语句。找到except语句后,会调用这个自定义的异常处理器。except将异常处理完毕后,程序继续往下执行。这种情况下,最后两个print语句都会执行。 except后面也可以为空,表示捕获任何类型的异常。 try…finally s = 'Hello girl!'try: print s[100]finally: print 'error...'print 'continue' finally语句表示,无论异常发生与否,final……

网友NO.419941

Python实现EXCEL表格的排序功能示例

EXCEL的数值排序功能还是挺强大的,升序、降序,尤其自定义排序,能够对多个字段进行排序工作。 那么,在Python大法中,有没有这样强大的排序功能呢?答案是有的,而且本人觉得Python的排序功能,一点不比EXCEL的差。 同样,我们依然用到的是强大的pandas这个三方库。我们先将numpy和pandas导入进来: 接着构造一个今天要用到的DataFrame,我们用字典的形式来构造。 都是随意构造的,内容别较真。我们先来个简单点的热热身,按照身高的降序来排列一下。 我们用到的是df.sort_values()这个函数。第一个参数为by,传入你要排序的列的标签名即可,后面的ascending参数指示排序方法为升序还是降序,True为升序,False为降序。由于存在相同的身高,pandas会自动的比较两个相同身高所对应的index,按照index的升序来排列。 假如我有这样一个需求:先按照身高降序排……

网友NO.510626

Python利用os模块批量修改文件名的方法介绍(附代码)

本篇文章给大家带来的内容是关于Python利用os模块批量修改文件名的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 初学Python.随笔记录自己的小练习. 通过查阅资料os模块中rename和renames都可以做到 他们的区别为.rename:只能修改文件名 renames:可以修改文件名,还可以修改文件上级目录名称 另一个用到的方法是os.listdir(path) path为路径 此方法可以将指定路径文件夹中的文件名录入一个列表中 下面是代码: import ospath = e:/test/ # 目标路径os.listdir(path) 操作效果为 返回指定路径(path)文件夹中所有文件名filename_list = os.listdir(path) # 扫描目标路径的文件,将文件名存入列表 a = 0for i in filename_list: used_name = path + filename_list[a] new_name = path + new_ + filename_list[a] os.rename(used_name,new_name) print(文件%s重命名成功,新的文件名为%s %(used_name,ne……

网友NO.666807

Python提取频域特征知识点浅析

在多数的现代语音识别系统中,人们都会用到频域特征。梅尔频率倒谱系数(MFCC),首先计算信号的功率谱,然后用滤波器和离散余弦变换的变换来提取特征。本文重点介绍如何提取MFCC特征。 首先创建有一个Python文件,并导入库文件: from scipy.io import wavfile from python_speech_features import mfcc, logfbank import matplotlib.pylab as plt1、首先创建有一个Python文件,并导入库文件: from scipy.io import wavfile from python_speech_features import mfcc, logfbank import matplotlib.pylab as plt 读取音频文件: samplimg_freq, audio = wavfile.read("data/input_freq.wav") 提取MFCC特征和过滤器特征: mfcc_features = mfcc(audio, samplimg_freq) filterbank_features = logfbank(audio, samplimg_freq) 打印参数,查看可生成多少个窗体: print('\nMFCC:\nNumber of windows =', mfcc_features.shape[0]) print('Length of each feature =', mfcc_features.shape[1]) print('\nFilter bank:\nN……

<
1
>

电子书 编程教程 文档 软件 源码 视频

Copyright 2018-2020 xz577.com 码农之家

本站所有电子书资源不再提供下载地址,只分享来路

免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

版权投诉 / 书籍推广 / 赞助:QQ:520161757