requests登陆正方教务管理系统
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                requests登陆正方教务管理系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                requests登錄教務管理系統,這里以閩江學院為例。
我用的工具
1.python 3.6
2.requests模塊
3.Chrome F12
話不多說上碼!
####requests登錄教育網 import requests class Mju:def __init__(self):self.headers = {"Host": "jwgl.mju.edu.cn","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36"}self.url = "http://jwgl.mju.edu.cn/" #學校教務管理官網self.session = requests.session()def get_cookies(self): #從首頁拿到cookies,因為就兩個,所以不寫太麻煩了base_response = self.session.get(self.url,headers = self.headers)cookies = base_response.cookiesself.cookie_dict1 = {}self.cookie_dict1["ASP.NET_SessionId"] = cookies['ASP.NET_SessionId']self.cookie_dict1["ASP.NET_SessionId_NS_Sig"] = cookies['ASP.NET_SessionId_NS_Sig']return self.cookie_dict1def checkcode(self): #手寫驗證碼,當然你也可以做個深度學習識別二維碼或者買識別二維碼的self.response = self.session.get(self.url, headers=self.headers)checkcode_url = "http://jwgl.mju.edu.cn/CheckCode.aspx"response1 = self.session.get(checkcode_url,headers = self.headers,cookies=self.cookie_dict1)img = response1.contentwith open ("checkcode.jpg","wb") as f: #二進制寫入f.write(img)f.close()def login(self,login_name,login_password,login_code):formdata = {'__VIEWSTATE': 'dDwxNTMxMDk5Mzc0Ozs+3nz05h+XSFTZzEfxTy/80dBgOck=', #####表單數據都放在 default2.aspx 文件中,__VIEWSTATE 每個人的都不一樣,但是是固定的,直接拿下來就好,'txtUserName': login_name, #一定一定要全拿下來,空的也拿下來'Textbox1':'','TextBox2': login_password,'txtSecretCode': login_code,'RadioButtonList1': '%D1%A7%C9%FA','Button1':'','lbLanguage':'','hidPdrs':'','hidsc':'',}login_url = "http://jwgl.mju.edu.cn/default2.aspx"response_login = self.session.post(login_url, headers=self.headers,data=formdata)response_login.encoding = "gbk"##網站的charset是gb2312,但是我名字他不會寫所以就用gbk了 info_url = "http://jwgl.mju.edu.cn/xs_main.aspx?xh="+login_nameresponse_stu = self.session.get(info_url,headers = self.headers,cookies = self.cookie_dict1)response_stu.encoding = "gbk"print(response_stu.text)if __name__ == "__main__":t = Mju()t.get_cookies()t.checkcode()login_name = input(str("請輸入學號:"))login_password = input(str("請輸入密碼:"))login_code = input(str("請輸入驗證碼:")) #打開 checkcode.jpg 輸入驗證碼t.login(login_name,login_password,login_code)若返回到首頁則登錄失敗,有什么問題歡迎補充
總結
以上是生活随笔為你收集整理的requests登陆正方教务管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 解析java多态经典习题
- 下一篇: linux C语言access()函数(
