999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于android的教務管理系統

2017-11-01 06:35:48蘭州理工大學毛東航馬思明毛姝然
電子世界 2017年19期
關鍵詞:校園

蘭州理工大學 毛東航 馬思明 毛姝然

甘肅政法學院 張金霞

基于android的教務管理系統

蘭州理工大學 毛東航 馬思明 毛姝然

甘肅政法學院 張金霞

隨著計算機技術的進步,各高校已經陸續的開始利用教務管理系統進行學校的日常管理,為滿足實際需要,基于B/S 架構并支持移動智能端的教務管理與校園信息系統的研發與應用已成為研究熱點。本設計將用網絡請求框架OkHttp、抓包工具httpwatch、Jsoup庫解析HTML、正則表達式等知識實現 Android 端訪問教務管理系統,比如進行課表查詢、學生選課、成績查詢以及教學評價等功能。Android 教務系統的開發與實現很好地實踐了我校智慧校園的建設。

Jsoup;正則表達式;HttpWatch;OKHttp

1.概述

通過開發一款 Android 手機軟件,實現手機端訪問教務管理系統,比如進行 課表查詢、學生選課、成績查詢以及教學評價等。目前很多高校教務系統采用的是正方教務系統,但是教務相關的數據庫是不會對外開放的,我們想要查到成績等一系列教務操作就得自己抓包得到我們想要的數據。我們需要掌握的知識有網絡請求框架、抓包工具、解析HTML、正則表達式。本設計用okhttp流程是首先使用OkHttp網絡請求框架來模擬登錄教務系統,然后利用Jsoup庫來解析獲取到的html代碼,最后只要處理下數據將其顯示到界面上就可以了,android界面布局及設計采用2014年谷歌推出的界面設計語言-Material Design。

2.Httpwach使用

抓包工具有很多,Fiddler這個工具很強大,還有谷歌瀏覽器內置的開發者工具等等。但是對于本次設計,我們采用較簡單的httpwatch,首先下載好破解版的httpwatch,然后訪問教務系統登錄頁面,在IE瀏覽器工具欄中打開httpwatch,點擊Record按鈕就開始抓包。

2.1 使用http協議訪問網絡

http協議是互聯網上應用最為廣泛的一種網絡協議。HTTP請求格式主要有四部分組成,分別是:請求行、請求頭、空行、消息體,每部分內容占一行。服務器接收處理完請求后返回一個HTTP相應消息給客戶端,HTTP響應消息的格式包括:狀態行、響應頭、空行、消息體,每部分內容占一行。我們用到的請求方法是get和post,它的工作原理是客戶端向服務器發出一條http請求,服務器收到請求后會返回一些數據給客戶端,然后客戶端再對這些數據進行解析和處理就可以了。

2.2 獲取驗證碼

我們先來看看驗證碼的請求地址吧,確保點擊了Record按鈕后,點擊登錄界面上的看不清換一張,從HttpWatch記錄的信息可以知道發送了GET請求,這里我們最需要關心的是獲取驗證碼的請求地址。我們在Overview可以看到請求地址,請求返回狀態為200,訪問成功(如圖1所示)。

圖1 獲取驗證碼抓包數據

2.3 登陸教務系統

填好用戶名,密碼及驗證碼后點擊登錄按鈕,登錄成功后,發現發送了POST請求,與GET請求不同的是我們不僅僅要關注請求的地址,還要關心請求Header以及Post的數據,而這三項可以分別在Http-Watch中的Overview, Header和POST Data這三個選項卡中查看。這里我們看到登錄成功后,狀態碼是302,而不是200,說明這里進行了重定向,我們能發現302請求下面那個GET請求的URL和你瀏覽器地址欄的網址是一樣的,也就是我們點擊登錄后,數據是發送給302那個地址的,最后才重定向到這個200的地址來(如圖2所示)。所以我們后面設置登錄的Header時,Referer的值就直接設置這個狀態碼為200的地址就可以了,數據驗證成功后直接跳轉到這兒。對于POST data中的每一項都要傳,沒有值的傳空字符串,亂碼的查看源代碼就能獲得值(如圖3所示)。查詢課表和查詢成績等也是類似的操作,均為GET請求,就不必再看POST data這一項數據。

圖2 登錄post請求頭

圖3 post請求登錄的數據

3.OkHttp使用

在過去,Android上發送HTTP請求一般有兩種方式:HttpURLConnection和HttpClient。由于HttpClient存在API數量過多、擴展困難等缺點,在Android6.0系統中,HttpClient的功能完全被移除,標志著此功能正式被棄用,然而現在有許多出色的網絡通信庫都可以替代原生的HttpURLConnection,而其中OkHttp是最出色的一個,現在已經成了廣大Android開發者首選的網絡通信庫。在使用OKHttp之前,我們需要先在項目中添加OKHttp庫的依賴,編輯app/build.gradle文件在dependencies閉包中添加:compile ‘com.squareup.okhttp3:okhttp:3.4.1’。

4.jsoup使用

Jsoup是用來提取和操作存儲在Html代碼中的數據的Java開源庫。用法簡單,功能強大,提供了一套十分完備的API,讓我們能夠輕松的解析Html代碼。它可以從URL,字符串或文件中解析Html,Jsoup本身就可以發送GET,POST等一系列請求,并解析Html代碼,但它也存在一些不足,如果頁面代碼是AJAX是動態生成的,那么可能會發生抓取不到數據的情況,可能要自己模擬AJAX請求才行。我們項目里也只是用Jsoup來解析OkHttp請求成功后返回的字符串數據。使用Android Studio編寫代碼,需要在項目的build.gradle中添加依賴:compile 'org.jsoup:jsoup:1.9.2'。利用Jsoup來抽取數據,重點是能找出所要查找元素的唯一特性,就能快速定位,最后利用抽取文本、屬性等方法就能得到我們想要的數據了。

5.正則表達式

正則表達式(regular expression)描述了一種字符串匹配的模式(pattern),可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串等。構造正則表達式的方法和創建數學表達式的方法一樣。也就是用多種元字符與運算符可以將小的表達式結合在一起來創建更大的表達式。正則表達式的組件可以是單個的字符、字符集合、字符范圍、字符間的選擇或者所有這些組件的任意組合。登錄成功時,查看部分HTML代碼。學生姓名位于id為”xhxm”的span標簽中,由于這個id是唯一的,所以直接通過Element nameElement = document.getElementById("xhxm"); 查找元素,在利用Element的html()方法取得內容,最后使用正則表達式取得學生姓名。Pattern p = Pattern.compile("(.+)[^同學]");

6.設置驗證碼

當OkHttp成功獲取驗證碼后,會返回的byte[]數據。我們可以通過BitmapFactory提供的decodeByteArray()方法將字節數組轉化為Bitmap,但是如果直接將Bitmap設置為ImageView的background,驗證碼圖片會特別小,所以再利用Matrix按比例縮放我們的Bitmap,最后就可以使用setBackground()方法設置ImageView的背景圖片了。

[1]孫振興.大學校園移動信息化平臺的研究[D] .大慶:東北石油大學,2011.

[2]李童浩.基于Android的校園信息交互平臺的設計與開發[D].蘭州:蘭州大學,2012.

[3]劉宗平.淺析數字化校園建設中的移動校園平臺建設[J].科技創新與應用,2013(14):83.

猜你喜歡
校園
Q爆校園
Q爆校園
Q爆校園
Q爆校園
Q爆校園
Q爆校園
Q爆校園
再見,我的校園
南方周末(2018-06-28)2018-06-28 08:11:04
校園的早晨
琴童(2017年3期)2017-04-05 14:49:04
春滿校園
主站蜘蛛池模板: 成人国产一区二区三区| 午夜性刺激在线观看免费| 91福利在线观看视频| 色婷婷久久| aⅴ免费在线观看| 亚洲国产亚综合在线区| av大片在线无码免费| 欧美一级黄色影院| 久久男人资源站| 不卡视频国产| 日韩A级毛片一区二区三区| 国产一区亚洲一区| h视频在线播放| 毛片久久网站小视频| 亚洲不卡影院| 国产成人综合亚洲欧美在| 中文字幕免费播放| 性做久久久久久久免费看| 99久视频| 久久美女精品| 久久伊人久久亚洲综合| 国产剧情伊人| 国产精品免费露脸视频| 亚洲人成影视在线观看| 国产福利小视频高清在线观看| 国产精品高清国产三级囯产AV| 亚洲成人一区二区三区| 精品无码一区二区在线观看| 91九色国产在线| 国产成人区在线观看视频| 美女被操黄色视频网站| 国产在线高清一级毛片| 一级毛片在线播放免费| 午夜久久影院| 香蕉国产精品视频| 试看120秒男女啪啪免费| 欧美成人精品欧美一级乱黄| 欧美国产日韩在线| 狠狠亚洲婷婷综合色香| 四虎综合网| 精品国产成人av免费| 国产日韩欧美一区二区三区在线 | 日韩在线2020专区| 亚洲欧洲日产国码无码av喷潮| 91精品国产自产在线老师啪l| 99热这里只有精品国产99| 中文成人在线| 中文字幕久久亚洲一区| www.99在线观看| 久久国产精品影院| 久久成人国产精品免费软件 | 国产91丝袜| 中国美女**毛片录像在线| 亚洲 欧美 偷自乱 图片| 亚洲欧美精品一中文字幕| 亚洲成人免费在线| 爱色欧美亚洲综合图区| 一级爱做片免费观看久久 | 欧美在线精品怡红院| 日韩午夜伦| 色综合五月婷婷| 伊人激情综合网| 亚洲欧美一区二区三区蜜芽| 国产精品99久久久久久董美香| 亚洲日韩精品综合在线一区二区| 国产精品成人观看视频国产| 美女潮喷出白浆在线观看视频| 日韩一区精品视频一区二区| 国产一区二区三区在线无码| 97超碰精品成人国产| 伊人91视频| 黑人巨大精品欧美一区二区区| 久草青青在线视频| 1024你懂的国产精品| 国产黄网站在线观看| 666精品国产精品亚洲| 无码内射在线| 夜夜爽免费视频| 狠狠v日韩v欧美v| 91在线精品免费免费播放| 精品视频一区在线观看| 日韩AV无码一区|