學習筆記 使用python模擬登入

2021-10-04 10:59:00 字數 1119 閱讀 9324

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...