目录

说明

在做博客园UWP版的时候其实就有做知乎日报的打算了,前段时间一直出差,在酒店里用Fiddler简单的分析了一下Android官方版本使用到的API,刚开始以为很复杂,后来发现其实很简单。windows商店里知乎日报的应用有好几个,但是网上基本没有什么开源的,这篇文章将介绍一下知乎日报用到的API(Android版)以及目前已经完成的部分界面(为了测试效果,我还特意买了一部lumia 535,399元还送一部移动电源,当天就升级到了Windows 10 Mobile)。等所有的功能都做完了之后我再将源码传上来。

注:后来上网查了一下,发现其实早有人分析了知乎日报的API。

使用Fiddler分析Android版API

首先要准备的工具:

  • android手机+知乎日报APP;
  • Fiddler(大名鼎鼎Telerik出的,Telerik);
  • 局域网。

原理很简单,打开Fiddler,将它设置成为一个代理,然后将同一局域网中的Android手机代理设置为Fiddler所在的电脑。

之后Android手机所有的HTTP请求都会先经过代理(Fiddler所在的电脑),Fiddler当然也能捕获到请求的各种数据。(注意如果捕获的回话过多,请通过Fiddler右侧的Filter进行过滤)。

如果对Fiddler不熟悉的童鞋可以看这里:http://kb.cnblogs.com/page/130367/

之后,打开Android手机中的知乎日报APP,你就会看到所有的HTTP请求:

如上图,注意一定要使用filter进行过滤(图中右侧)。可以看到,知乎日报APP中各种操作都能看到对应的API,大概有以下:

  • Android APP版本更新检查;
  • APP启动图片
  • 日报主题列表抓取
  • 首页最近文章
  • 首页分页文章(按天)
  • 主题页面文章
  • 主题页面分页文章
  • 文章正文
  • 文章额外信息(评论数、点赞数等等)
  • 获取短评论
  • 分页获取短评论
  • 获取长评论
  • 分页获取长评论

(有关登录的API本人没有分析)

每个API都是通过Get方式请求的,返回的大部分都是Json格式的数据(有一部分是HTML)。下图是我整理出来的一些API:

等源码传上来之后,大家可以下下去看看。每个API返回的格式如下(以抓取主题日报列表为例):

返回的JSON数据很好处理,使用Windows.Data.Json命名空间的类型就可以全部解决。这是获取API部分的准备。

以上。

部分效果图

功能还没有做完,先看几张图:

关于源码

等做完之后上传全部源码(这次项目结构稍微设计了一下:))。

12年的时候我买了一部Lumia 800(WP7的系统),发现系统很差劲,后来没怎么用了,花了我3000块。之后Wp8/8.1一直没怎么关注,现在用了一段时间的Win 10 Mobile,发现进步相当大,应用商店里的一些大厂开发的APP体验也很好吧,要是开发者给点力,还是可以做出好的APP的。就我目前个人认为,认真做出来的APP还是可以让一些本已适应了Android、IOS的人接受的,昨晚把我做的半成品给我媳妇用,她也没感觉出来跟IOS哪里差了。

开源有益,多谢点赞。

【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析的更多相关文章

  1. 【完全开源】知乎日报UWP版(下篇):商店APP、github源码、功能说明。Windows APP 良心出品。

    目录 说明 功能 截图+视频 关于源码和声明 说明 陆陆续续大概花了一个月的时间,APP算是基本完成了.12月份一直在外出差,在出差期间进行了两次功能完善,然后断断续续修补了一些bug,到目前为止,我 ...

  2. 【完全开源】知乎日报UWP版:增加Live磁贴、Badge、以及Toast通知

    目录 说明 实现方法 APP生命期 后台任务 说明 之前网上有人建议增加磁贴(tile).徽章(badge)功能.利用周末的时间,将这两个功能添加上去了.如果将磁贴固定到开始屏幕,磁贴就会循环播放首页 ...

  3. 【完全开源】知乎日报UWP版:项目结构说明、关键源代码解释

    目录 说明 项目结构 关键代码 演示视频 说明 上一篇博客将源码放出来了,但是并没有做过多的介绍,所以如果自己硬看可能需要花费很长的时间,尤其这些代码并不是自己写的.项目不算复杂但是也不算简单,这篇文 ...

  4. 【开源】知乎日报UWP 更新

    说明 大概十天之前我更新了一次APP,后来又仔细看了一下Store里的评论,发现还有几个地方没有改过来.于是前天晚上抽时间改了一下,顺便完善了一下UI体验. 没有看前面文章的童鞋可以看一下下面的链接: ...

  5. 知乎日报win10版 - 天天读报【开源】

    业余时间写的一个知乎日报win10版客户端,支持收藏,评论,点赞等. 商店地址:https://www.microsoft.com/zh-cn/store/apps/%E5%A4%A9%E5%A4%A ...

  6. 开源 SHOPNC B2B2C结算营运版 wap IM客服 API 手机app 短信通知

    源码我们这里简单的测试了下,具体的请自行下载测试.这套源码官方售价很高,在这里完全免费分享,无任何限制,安装也简单. 源码下载后请自行检测安全,在使用过程中发生的任何问题请自行处理,本站不承担任何责任 ...

  7. 知乎日报 API 分析

    声明 下面全部 API 均由 知乎(Zhihu.Inc) 提供,本人採取非正常手段获取. 获取与共享之行为或有侵犯知乎权益的嫌疑.若被告知需停止共享与使用.本人会及时删除此页面与整个项目. 请您暸解相 ...

  8. APP设计尺寸规范大全,APP界面设计新手教程【官方版】(转)

    正值25学堂一周年之际,同时站长和APP设计同仁们在群里(APP界面设计 UI设计交流群,APP界面设计⑥群 APPUI设计③群58946771 APP设计资源⑤群 386032923欢迎大家加入交流 ...

  9. Win10通用程序 UWP版HtmlAgilityPack UWP应用使用示例

    Win10 UWP版HtmlAgilityPack,UWP应用使用示例下载. Win10 发布了一个多星期,sdk是随着一起发布的,我安装好vs2015和sdk 开发UWP 通用程序. 在做网络解析的 ...

随机推荐

  1. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  2. HTML 事件(二) 事件的注册与注销

    本篇主要介绍HTML元素事件的注册.注销的方式. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流.事件委托 4. ...

  3. Mysql事务探索及其在Django中的实践(一)

    前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...

  4. [C#] 走进 LINQ 的世界

    走进 LINQ 的世界 序 在此之前曾发表过三篇关于 LINQ 的随笔: 进阶:<LINQ 标准查询操作概述>(强烈推荐) 技巧:<Linq To Objects - 如何操作字符串 ...

  5. javascript 判断参数类型大全

    js 判断类型的在开发中是很常用的,因为js 是弱类型的语言,var 可以接受任何形式的类型,但是在真正的开发中,我们需要根据不同类型做不同的处理,所以这个是必须的精通. 首先需要知道 typeof这 ...

  6. Android中访问sdcard路径的几种方式

    以前的Android(4.1之前的版本)中,SDcard路径通过"/sdcard"或者"/mnt/sdcard"来表示,而在JellyBean(安卓4.1)系统 ...

  7. Oracle常用SQL函数整理

    --返回ASCII码select  ASCII('A') "A的ASCII码" ,ASCII('a') "a的ASSCII码" from dual ; --反向 ...

  8. Linux环境变量设置

    修改环境变量PATH 最近为root添加一个环境变量发现sudo su进去没有变化所以总结了一下所有设置环境变量的方法: 查看PATH:echo $PATH 直接在命令行修改,就可以使用,但是只有在当 ...

  9. Linux实战教学笔记03:操作系统发展历程及系统版本选择

    标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...

  10. SSD框架训练自己的数据集

    SSD demo中详细介绍了如何在VOC数据集上使用SSD进行物体检测的训练和验证.本文介绍如何使用SSD实现对自己数据集的训练和验证过程,内容包括: 1 数据集的标注2 数据集的转换3 使用SSD如 ...