模拟登录正方教务管理系统-JAVA实现
模擬登錄正方教務管理系統
?
?
這款應用能夠將正方教務管理系統上的英語四六級信息查詢功能、期末考試安排信息查詢功能、期末考試成績信息查詢功能、課程表信息查詢功能、畢業設計信息查詢功能、個人頭像信息查詢功能在手機終端供用戶查看。(以下列舉兩個功能模塊的大概實現)。
登錄模塊的實現
?
用戶打開該應用,顯示登錄界面。系統獲取輸入的信息(學號、密碼與驗證碼),在LoginActivity的checkUser()方法中進行驗證,如果驗證通過,則進入系統,顯示主菜單界面;具體的實現過程如下:第一,生成一個http客戶端發送請求對象,對該客戶端進行請求方式的設定(這里為HttpGet方式)。使用通過GET請求正方教務系統網站登錄頁面(http://***.***.***.***/default2.aspx?)使用火狐Firebug工具進行抓包:用戶打開該應用,顯示登錄界面。系統獲取輸入的信息(學號、密碼與驗證碼),在LoginActivity的checkUser()方法中進行驗證,如果驗證通過,則進入系統,顯示主菜單界面;具體的實現過程如下:第一,生成一個http客戶端發送請求對象,對該客戶端進行請求方式的設定(這里為HttpGet方式)。使用通過GET請求正方教務系統網站登錄頁面(http://***.***.***.***/default2.aspx?)使用火狐Firebug工具進行抓包:
?
?
獲取到Html網頁信息,使用StringTokenizer分隔Html代碼,定位到__VIEWSTATE屬性標簽,再得到__VIEWSTATE的值。第二,將用戶輸入的學號、姓名、驗證碼以及剛獲取到的__VIEWSTATE的值作為請求參數,訪問http://210.34.213.87/default2.aspx?,若驗證通過,獲取到系統主頁面信息并且進入系統,Firebug顯示如圖5.2,顯示主菜單界面;若驗證失敗,則彈出登錄失敗的提示。
?
?Firebug顯示登錄成功對應網頁的的Post請求
?
?
顯示登錄成功返回的首頁部分信息
登錄模塊效果圖
?
?
期末考試成績模塊實現
?
具體實現過程如下:第一,學生點擊該功能模塊,顯示對話框,獲取學生想要查詢的對應學年、學期的信息。第二,網絡連接,以及頭信息的設置,通過訪問期末考試成績對應的網址(http:// ***.***.***.***/xscjcx_dq.aspx?xh=?&xm=?&gnmkdm=N121605)獲取返回的信息,使用StringTokenier分隔截取到對應網頁標識(__VIEWSTATE)的值。Firebug顯示如下圖:
Firebug顯示期末考試安排對應網頁的頭信息
?
Firebug顯示期末考試成績網頁的__VIEWSTATE字段信息
第三,將學年、學期以及__VIEWSTATE作為請求參數通過POST方法訪問期末考試成績模塊網址(http://***.***.***.***/xscjcx_dq.aspx?xh=?&xm=?&gnmkdm=N121605)獲取到返回的Html網頁。獲取到的網頁信息如下圖:
Firebug顯示查詢成績的POST請求
?
期末考試成績對應網頁的部分代碼
?
第四,使用正則表達式對其解析,先把Html網頁代碼轉化成行,再利用java.util.regex.Pattern與java.util.regex.Matcher的功能。通過Pattern的靜態方法compile()返回一個Pattern的實例,這個實例代表正則表達式,之后就可以重復使用Pattern實例的matcher()方法來返回一個Matcher的實例,代表符合正則式的實例,分析實例,通過設定條件尋找符合的正則式,即我們想要得到的關于期末考試成績的信息。獲取期末考試成績相關字段的方法:首先,將該頁面的</td>\n使用replaceAll</td>進行轉換;其次使用Pattern類的compile對(?<=<td>).*(?=</td>)進行處理,獲取<td>標簽的內容;然后,使用matcher()返回Matcher的實例,通過find()方法將相關字段全部遍歷獲得。
實際顯示效果:
期末考試成績模塊效果圖一
期末考試成績模塊效果圖二
?
?
注:部分工具介紹
正則表達式
正則表達式的原理是通過匹配字符串中的語法句式規則獲得符合條件的字符串內容。被應用在許多方面,類似文本編輯器、電子詞典中,用于搜索與更新字段。
使用過程:把一個包含正則表達式的字符串(HTML)傳遞給Pattern類中的靜態方法compile(),創建一個Pattern對象。然后通過使用要搜索的給定字符串作為參數調用Pattern對象的matcher()方法,獲得一個Matcher對象,這個對象可以搜索與模式匹配的給定字符串。調用Matcher對象的find()方法搜索給定的字符串。如果模式匹配了,再查詢匹配對象以找出模式在字符串中的位置和其他與匹配有關的信息。
?
Firebug網絡抓包
?
Firebug是一個獲取網頁信息的強大工具,通過分析這些截取的HTTP記錄,可以知道這個網站對外交互的信息。例如,Firebug中的TimeChart圖也可以讓我們很直觀的看出訪問HTTP的時間信息。Request Grid中的Time反應關注耗時比較大的請求,Received關注接收字節數比較大的請求,Result關注404、500、301、302等返回值。常用的網絡抓包工具還有Wireshark、Fiddler、Charles等。
?
關鍵詞:Android;Java;正方教務管理系統;學習信息查詢;網頁分析
?
?
?
?
總結
以上是生活随笔為你收集整理的模拟登录正方教务管理系统-JAVA实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新emlog高仿小刀娱乐网修复版模板分
- 下一篇: requests登陆正方教务管理系统