91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用python實現自動登錄后臺管理系統

發布時間:2021-04-09 11:49:30 來源:億速云 閱讀:211 作者:小新 欄目:開發技術

小編給大家分享一下如何使用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實現自動登錄后臺管理系統”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁南县| 张家港市| 潮安县| 沈阳市| 壶关县| 万全县| 安图县| 阿拉善右旗| 定陶县| 克什克腾旗| 金昌市| 彭州市| 乌拉特中旗| 马龙县| 临猗县| 万盛区| 繁昌县| 内乡县| 莎车县| 大厂| 蒙城县| 始兴县| 德钦县| 盐池县| 香河县| 额济纳旗| 洪洞县| 长治市| 大宁县| 周至县| 民和| 马边| 鹤庆县| 五莲县| 白沙| 惠水县| 西华县| 新乐市| 噶尔县| 公主岭市| 延安市|