我是一楼:
想作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 | 精弘论坛 |
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