003 精弘iOS/Android/WP客戶端

我是一樓:

想作iOS客戶端這個念頭,有了幾個月了,這個禮拜一辭了實習工做,跑回來作iOS客戶端的開發,已是第四天了。爲嘛要作這個呢,由於如今的客戶端是在是太挫我以爲有點看不下去...並且點擊圖片牆就閃退有木有...傳說還有廣告(我沒發現..)。
剛開始,纏着墨魚問有沒有API,墨魚說沒有...

好吧,而後我嘗試着看HTML源代碼...準備在客戶端解析HTML中的內容,而後獲取地址和各類帖子信息(標題,發帖人等等)來進入帖子,而後經過POST模擬電腦端的操做來實現發帖等功能,可是。HTML的內容是這樣的:php

<td class="icn" style="padding-left:10px;">
<a href="http://bbs.zjut.edu.cn/forum.php?mod=viewthread&tid=1625794&extra=page%3D1" title="新窗口打開" target="_blank">
<img src="template/yeei_dream1/css/yeei//folder_common.gif" />
</a>
</td>
<th class="common" style="padding-left:8px;">
<em>[<a href="http://bbs.zjut.edu.cn/forum.php?mod=forumdisplay&fid=465&filter=typeid&typeid=71">求助</a>]</em> <a href="http://bbs.zjut.edu.cn/forum.php?mod=viewthread&tid=1625794&extra=page%3D1" onclick="atarget(this)" class="xst" >電影雙語如何切換音頻啊?菜鳥求助啊</a>
</th>
<td class="by">
<cite>
<a href="http://bbs.zjut.edu.cn/home.php?mod=space&uid=183630" c="1">月辰弋羽</a></cite>
<em><span>2014-9-7</span></em>
</td>
<td class="num"><a href="http://bbs.zjut.edu.cn/forum.php?mod=viewthread&tid=1625794&extra=page%3D1" class="xi2">4</a><em>48</em></td>
<td class="by" style="padding-right:10px">
<cite><a href="http://bbs.zjut.edu.cn/home.php?mod=space&username=%E6%B3%89%E5%88%9D%E5%85%89" c="1">泉初光</a></cite>
<em><a href="http://bbs.zjut.edu.cn/forum.php?mod=redirect&tid=1625794&goto=lastpost#lastpost"><span title="2014-9-12 16:59">6 天前</span></a></em>
</td>
</tr>

WT* is this!用正則抓取也顯得煩瑣(樓主菜),並且在手機上打開一個網頁就是幾百K顯然不是太好的(考慮這麼多用移動的孩子還停留在EDGE...)。

而後我想到了iOS客戶端。iOS客戶端難道也是經過這種愚蠢的方式的嗎!就沒有正常人類用的JSON來傳輸數據、負責交互嗎!因而樓主祭出神奇Charles,開啓抓包,用手機登上客戶端:登陸...抓包...結果以下css

 

     而後返回值以下

 

{
    "secret": "2a113ad6cfadce314a60a79d33cb7", 
    "token": "8a7e56597e8b55881c67b1cb28b1b", 
    "uid": 273684, 
    "avatar": "http://center.zjut.com/images/noavatar_middle.gif", 
    "fid": 1, 
    "rs": 1, 
    "counts": null
}

               這就是咱們想要的東西啊(墨魚說沒有API....)!試想一下有了這個東西,假如咱們在任何客戶端須要登陸,咱們只要根據(須要寫的API就是這樣子的,固然還須要說明欄)html

參數 變量
appName 精弘論壇
email iosapp(用戶名)
forumKey CIuLQ1lkdPtOlhNuV4
forumType 7
packageName com.mobcent.newforum.app82036
password 我是密碼
platType 5
sdkType 1
sdkVersion 2.0.0


在客戶端發起請求:
ios

http://bbs.zjut.edu.cn/mobcent/login/login.php?forumType=7&forumKey=CIuLQ1lkdPtOlhNuV4&sdkType=1&packageName=com.mobcent.newforum.app82036&platType=5&appName=%E7%B2%BE%E5%BC%98%E8%AE%BA%E5%9D%9B&email=Dikey&sdkVersion=2.0.0&password=hehehehe

就可以獲取到以上的JSON,而有了"secret": "", "token": "", 後續的任何發帖之類的操做,咱們才能夠進行(做爲參數傳遞)。

若是能獲得現有APP的這套API,那麼咱們就能夠實現全部現有的功能了...有同窗會問:已經有了幹嗎再實現一遍...?...由於如今的APP(iOS)打開圖片多的帖子閃退(沒有通過圖片壓縮),帖子沒有緩存(打開比較慢),並且界面沒辦法定製,更無法擴展...這個APP的來頭的話,是安米網:http://www.appbyme.com/mobcentACA/index.html 
固然這不是一個開源的客戶端(不然怎麼加入廣告賺錢),API顯然不公開...

樓主不是很懂後端,不懂discuz (php寫的?)加入一個插件,而後寫一套本身的API工做量是怎麼樣子的(還有難度)...可是若是想要徹底自主,這確定是一種更好的方法。
固然樓主如今正在第二條路上,整理安米生成的客戶端的API,若是能夠整理這麼一套API,不管iOS、Android仍是WP,只有有人願意作,咱們均可以作出客戶端來。

樓主如今正在作iOS客戶端,進度能夠在 https://github.com/DikeyKing/jinghong 上看到(剛剛實現完登陸...)
若是,選擇走第二條路,那如今很須要人去整理出這套API。


git

相關文章
相關標籤/搜索