I am the first floor:
Want to do iOS client this idea, for a few months, this week to quit the internship work, run back to do iOS client development, is the fourth day. Why do you want to do this, because now the client is in is too bad I feel a little to see ... and click on the image of the wall to flash back there are wood ... Legends and commercials (I didn't find it.) )。
At first, the wrapped fish asked if there is no API, Cuttlefish said no ...
Well, then I try to look at the HTML source code ... Ready to parse the contents of HTML in the client, and then get the address and various post information (title, post, etc.) to enter the post, and then through the post simulation computer-side operation to achieve the function of post, but. The content of HTML is this:
<TD class= "ICN" style= "padding-left:10px;" >
<a href= "http://bbs.zjut.edu.cn/forum.php?mod=viewthread&tid=1625794&extra=page%3D1" title= "new Window open" target= "_blank" >
</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 "> Help </a>]</em> <a href=" http://bbs.zjut.edu.cn/forum.php?mod=viewthread&tid= 1625794&extra=page%3d1 "onclick=" Atarget (This) "class=" Xst "> Movie bilingual how do I switch audio? Rookie help Ah </a>
</th>
<TD class= "by" >
<cite>
<a href= "http://bbs.zjut.edu.cn/home.php?mod=space&uid=183630" c= "1" > Yue Chen yu </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 "> Quan light </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 days ago </span></a></em>
</td>
</tr>
Wt* is this! With regular crawl also appear cumbersome (landlord dish), and on the phone to open a page is hundreds of K is obviously not too good (consider so many children with mobile still stay at Edge ...) )。
Then I thought about the iOS client. Is the iOS client also in this stupid way? There is no normal human use of JSON to transfer data, responsible for interaction! So the landlord sacrifice magic Charles, open grab bag, with mobile phone boarded the client: login ... Grab bag ... The results are as follows
then the return value is as follows
{
"Secret": "2a113ad6cfadce314a60a79d33cb7",
"token": "8a7e56597e8b55881c67b1cb28b1b",
"UID": 273684,
"Avatar": "Http://center.zjut.com/images/noavatar_middle.gif",
"FID": 1,
"RS": 1,
"Counts": null
}
that's what we want . (cuttlefish says no API ....) )! Imagine having this thing, if we need to log in on any client, we just need to base it on (the API that needs to be written is that, and of course it needs a description bar)
Parameters |
Variable |
AppName |
Fine Hong Forum |
Email |
Iosapp (user name) |
Forumkey |
Ciulq1lkdptolhnuv4 |
Forumtype |
7 |
PackageName |
com.mobcent.newforum.app82036 |
Password |
I'm the code. |
Plattype |
5 |
Sdktype |
1 |
Sdkversion |
2.0.0 |
To initiate a request on the client:
<font color= "#0000ff" >http://bbs.zjut.edu.cn/mobcent/login/login.php</font>?<font color= "# 0000FF ">forumtype</font>=7&<font color=" #0000ff ">forumkey</font>=ciulq1lkdptolhnuv4 &<font color= "#0000ff" >sdktype</font>=1&<font color= "#0000ff" >packageName</font> =com.mobcent.newforum.app82036&<font color= "#0000ff" >plattype</font>=5&<font color= "# 0000FF ">appname</font>=%e7%b2%be%e5%bc%98%e8%ae%ba%e5%9d%9b&<font color=" #ff0000 ">email</ Font>=<font color= "#ff0000" > Account </font>&<font color= "#0000ff" >sdkversion</font>= 2.0.0&<font color= "#ff0000" >password</font>=<font color= "#ff0000" > I am password </font>
will be able to get the JSON above, and with the" secret": ""," token": "",any subsequent postings such as this can only be done (passed as parameters).
If we can get this set of APIs for an existing app, then we can implement all the existing features ... A reunion asked:Why do we have to do it again ...? ... Because now the app (IOS) Open the picture many posts flash back (no image compression), the post is not cached (open relatively slow), and the interface can not be customized, but also unable to expand ... The story of this app isSafety net:http://www.appbyme.com/mobcentACA/index.html
Of course this is not an open source client (otherwise how to join the ad to make money), the API is obviously not public ...
landlord is not very understand the back end, do not understand Discuz (PHP written?) Add a plugin, and then write a set of your own API workload (and the difficulty) ... But if you want to be completely autonomous, it's certainly a better approach.
of course, the landlord is now on the second road, finishing Amy generated client API, if you can organize such a set of APIs, whether iOS, Android or WP, only someone willing to do, we can make a client.
landlord is now doing iOS client, progress can be seen on the Https://github.com/DikeyKing/jinghong (just completed login ... )
If you choose to take the second route, it is now very necessary for people to sort out the API.
003 Jing Hong ios/android/wp Client