python實(shí)現(xiàn)自動(dòng)登錄后臺(tái)管理系統(tǒng)
本文實(shí)例為大家分享了python實(shí)現(xiàn)自動(dòng)登錄后臺(tái)管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
首先感謝下網(wǎng)絡(luò)上的各位大神和博主,通過(guò)學(xué)習(xí)各位大神的文章,才實(shí)現(xiàn)了該腳本
①首先瀏覽器運(yùn)行真是系統(tǒng)通過(guò)fiddler抓包,抓取到登錄地址(后面的地址和頭部信息等都是通過(guò)fiddler抓取的)
并獲取頭信息,header信息里面Accept-Encoding: gzip, deflate去掉吧,免得后面提取頁(yè)面的url時(shí)無(wú)法解碼,通過(guò)代碼實(shí)現(xiàn)后,這個(gè)時(shí)候回返回html文本,從文本里面獲取下一步要進(jìn)入的系統(tǒng)的地址,這個(gè)地址已經(jīng)附上cookie即token了,只有經(jīng)過(guò)了這一步請(qǐng)求,才能進(jìn)行下一步的對(duì)系統(tǒng)里面的內(nèi)容進(jìn)行操作(之前沒(méi)有經(jīng)過(guò)這一步,就進(jìn)行了具體操作的url請(qǐng)求,總是返回重定位到登錄界面)。
②然后再進(jìn)行這個(gè)帶token的url的請(qǐng)求
③請(qǐng)求完成后即可進(jìn)行想要的操作了
下面直接上代碼,有一些信息是公司的信息,我直接屏蔽換成通用字符串
# coding=utf-8 import urllib.request import urllib import http.cookiejar from database_functions import * import re # 正則表達(dá)式匹配規(guī)則 regx = re.compile(r'(.*)(href=\")(.*)(\"\starget=.*bms.*)') # 定義一個(gè)方法用于生成請(qǐng)求頭信息,處理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 } # 登錄請(qǐng)求 postdata = urllib.parse.urlencode(postdict).encode('utf-8') login_response = urllib.request.Request(login_url, data=postdata, headers=header) #登錄系統(tǒng) login_webpage = urllib.request.urlopen(login_response) # 返回的html頁(yè)面 login_data = login_webpage.read().decode() # 獲取系統(tǒng)地址 bms_url = regx.findall(login_data)[0][2] # 請(qǐng)求xxxx bms_response = urllib.request.Request(bms_url, headers=header) bms_webpage = urllib.request.urlopen(bms_response) # 返回的系統(tǒng)后臺(tái)頁(yè)面 bms_data = bms_webpage.read().decode() # 對(duì)xx狀態(tài)進(jìn)行修改 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)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- selenium+python實(shí)現(xiàn)自動(dòng)登錄腳本
- python實(shí)現(xiàn)網(wǎng)站用戶名密碼自動(dòng)登錄功能
- 使用python實(shí)現(xiàn)baidu hi自動(dòng)登錄的代碼
- python爬蟲(chóng)之自動(dòng)登錄與驗(yàn)證碼識(shí)別
- Python自動(dòng)登錄126郵箱的方法
- python實(shí)現(xiàn)自動(dòng)登錄人人網(wǎng)并訪問(wèn)最近來(lái)訪者實(shí)例
- Python實(shí)現(xiàn)自動(dòng)登錄百度空間的方法
- Python完全識(shí)別驗(yàn)證碼自動(dòng)登錄實(shí)例詳解
- Python內(nèi)置函數(shù)hex()的實(shí)現(xiàn)示例
相關(guān)文章
python內(nèi)置模塊OS?實(shí)現(xiàn)SHELL端文件處理器
這篇文章主要介紹了python內(nèi)置模塊OS實(shí)現(xiàn)SHELL端文件處理器,文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09Python實(shí)現(xiàn)圖片和base64轉(zhuǎn)換詳解
這篇文章主要介紹了Python實(shí)現(xiàn)圖片和base64轉(zhuǎn)換詳解,Base64是一種二進(jìn)制到文本的編碼方式,如果要更具體一點(diǎn)的話,可以認(rèn)為它是一種將 byte數(shù)組編碼為字符串的方法,而且編碼出的字符串只包含ASCII基礎(chǔ)字符,需要的朋友可以參考下2024-01-01快速進(jìn)修Python指南之面向?qū)ο蠡A(chǔ)
這篇文章主要為大家介紹了Java開(kāi)發(fā)者快速進(jìn)修Python指南之面向?qū)ο蠡A(chǔ),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Python遞歸求出列表(包括列表中的子列表)的最大值實(shí)例
今天小編就為大家分享一篇Python遞歸求出列表(包括列表中的子列表)的最大值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Python學(xué)習(xí)筆記之pandas索引列、過(guò)濾、分組、求和功能示例
這篇文章主要介紹了Python學(xué)習(xí)筆記之pandas索引列、過(guò)濾、分組、求和功能,結(jié)合實(shí)例形式分析了Python針對(duì)抓取保存的csv數(shù)據(jù)使用pandas進(jìn)行索引列、過(guò)濾、分組、求和等操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-06-06