1.fiddler抓取真實登入的請求
獲取到需要請求的介面,請求頭資訊,以及請求體中必須包含的資訊。
2.對密碼進行加密
使用者實際登入時輸入的密碼是123456這種未經過加密的形式,檢視請求中需要傳入的password是經過加密後的字串。不可能每次模擬之前都去先搜尋密碼對應的md5加密形式再寫入配置檔案,所以在模擬的時候需要對密碼進行加密處理。
此介面加密方式為md5,這裡使用hashlib模組:
def
jiami_md5
(password)
: m = hashlib.md5(
)# 建立乙個md5加密模式的hash物件
m.update(password.encode())
# encode()對原字串進行解碼,需要二進位制形式才可以加密,如果是中文需要傳入引數'utf-8'
# update(arg):用字串引數來更新hash物件
return m.hexdigest(
)# hexdigest()轉換成16進製制形式
3.使用requests進行模擬
匯入python的requests模組
import requests
模擬post請求
r = requests.post(url=config.url, headers=config.headers, data=config.data, verify=
false
)
開啟fiddler等**工具,會報錯sllerror,但是又需要開著fiddler比較方便檢視請求。比較簡單的辦法是加上引數verify=false,就不會報錯了。
模擬成功之後就可以從返回的資訊中獲取需要的資訊:
# 獲取請求狀態碼
r.status_code
# 獲取json格式的返回資料
r.json(
)# 獲取請求返回的資訊的編碼格式
r.encoding(
)# 拿到的資料裡含有中文,如果不處理會發生亂碼的情況,需要設定正確的編碼格式
r.encoding=
'utf-8'
Python學習筆記 使用Pygal模擬擲骰子
coding utf 8 created on sat mar 14 21 26 55 2020 author 86159 use to create cells run current cell ctrl enter pygal 生成可縮放的向量圖形檔案 對於需要在不同的螢幕上顯示的圖表,這很有用...
python3 selenium進行模擬登陸
這裡主要就說下,當表籤中只有class,而且class是這種形式的 class 的名字是自定義的,內容優勢有空格的形式,我們使用常規的定位方法總是出現問題,提示找不到元素。解決上面的辦法就是 brows.find element by css selector data test class kw ...
Oracle學習筆記 sqlplus使用者登入
1 sqlplus 登入 本地登入 登入資料庫伺服器 oracle 登入 sqlplus 賬戶名 密碼 as 角色名 1.1 sys登入 例如 sqlplus sys oracle error ora 28009 connection as sys should be as sysdba or sy...