AndroidHttpClient & jsoup 解析 正方教務系統

來源:互聯網
上載者:User

標籤:android   style   blog   code   java   width   

這段時間學習了一下使用jsoup來解析網頁,也是看了下學校的正方教務系統,因為這個正方教務系統的各種不爽,不知道為什麼還是那麼多學校用這個系統呢?每到選課什麼的就死啦死啦的,從它的網頁上各種命名來看,簡直就和我們這些小菜鳥一樣o(╯□╰)o

 

使用AndroidHttpClient 而不是使用HttpClient,怎麼說AndroidHttpClient也是SDK中內建的,基於HttpConnection,所以來說效能上來說應該比較好吧.

因為不熟悉使用這個強大的工具導致走了很多彎路,浪費了很多時間 ,很多參數沒有像new 一個DefaultHttpClient簡單,AndroidHttpClient的參數需要手動設定一下才好,比如說我在java 工程中使用的是HttpClient,我也沒設定什麼參數,直接拿來就用,它內部已經幫我們處理了很多細節問題,像重新導向,,有時候我都不知道他重新導向幹嘛去了,經常擷取不到我需要的內容.在Android 工程中 ,使用AndroidHttpClient 預設不會自動重新導向,需要手動設定,還有忘記設定各個header導致各種問題.

此次任務是使用AndroidHttpclient來擷取指定網站的資料內容,包括類比各種post,get等請求.然後交由jsoup工具來解析出我需要的內容,比如課表查詢,使用者資訊,學產生績等...

當然在這之前對網站的抓包分析是不可少的,我就使用了最簡單的工具,Google瀏覽器和它內建的工具,特別注意這段中間的一段字串(24位),搞不懂原理,這個網站怎麼抓也抓不到cookie,

1.首先的登入進去才行,我們知道一般網站都會設定個驗證碼什麼的,所以我就想了各種辦法來嘗試是否可以直接不要驗證碼登入呢,可惜太難搞了,還是老老實實自己填寫吧,貌似那個叫什麼orc的可以自動識別類似的驗證碼的.

根據這個驗證碼地址找到連結,http://jwgl.hstc.edu.cn/(oco15si4snyeb04510vu0045)/CheckCode.aspx  ,直接存取這個就是驗證碼了,但是我們特別需要擷取到中間的那段字串,它是每次隨機產生的,很像cookie的工作,後面的訪問都需要這段,

一開始我是直接固定了一段24位的字串給他,也能正常登陸進去,但是擷取各種資訊的時候就不能了.所以還得從訪問http://jwgl.hstc.edu.cn/CheckCode.aspx這個地址後會重新導向到一段新的地址,這個地址中間就有了24位字串了.然後根據這個字串加入首頁來類比登陸. 使用AndroidHttpClient擷取到這個網址的響應內容,經過重新導向後得到一個InputStream,然後讓它顯示到ImageView上,我在測試的時候經常接收不到響應的輸入資料流,可能是哪裡出問題了,在2.3系統上跑還很正常,在4.2上就經常沒內容了.

然後還是各種使用者輸入登入的過程了.

代碼就不貼了,放上串連,目前該項目進行中中,歡迎各位前來指導.

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.