2020年10月11日 星期日

校務通開發序章--登入邏輯

 參考網頁:文藻外語大學校務系統

可以懂邏輯

1.         首先,先導入PY程式所需要的套件,

2.         再來,連入文藻校務系統的鏈結

3.         針對驗證碼解析做CAPTCHA轉換

4.         (第四段不懂用意—def get_md5(data: bytes))

5.         使用MD5取得root權限

6.         核對圖片驗證碼請求

7.         如果login_page_request.status_code200則回傳錯誤(False)

8.         比對正確性

9.         連入放置學生教職員帳號密碼的資料庫,比對本人的帳密有無錯誤

10.     如果狀態為302則代表登入成功

11.     印出登入狀態、登入請求狀態

 

以上大概解釋,如果有錯請學長指導

 

 

我可能變數命名比較辣雞一點

__main__那開始

requests這一個套件有 session 這功能

會自己做好cookie 管理

 

get_md5  這一個是計算md5function

輸入是bytes  原則上是輸入圖片的bytes

 

我這邊的root 是指 DOM root

我這邊是用lxml.etree去解析html

一般學爬蟲比較會看到beautifulsoup

 

流程

先請求login.htm 的頁面資訊 (對方也會給我cookie 這裡 requests.session處理掉了 )

 

拿這個頁面的html get_captcha_text

 

把這個html中的 驗證碼網址給parse 出來

parse 之後 再拿session get 圖片檔案

同時在把圖片檔案(bytes) get_md5    再拿剛剛那個表 就能知道這張圖片是哪一個字母了

 

接下來就是拿SYSTEM_MAGICNUMBER

這一個就只是在login.htm   直接透過lxml.etree 去解析 (我解析都用Xpath)

 

 

最後就是向loginprocess 去登入

他們登入成功是給302


Share:

0 意見:

張貼留言