下午本来准备抓取些网页视频地址,做一个小的视频app,用来学习ijkplayer,无意中发现了一个app——姐夫酷,这是一个很简单的网页,它也有相应的一个比较简单的android app。 于是心血来潮,想把它的包抓取下来,以后可以拿来做些高仿项目,学习些新的技术。

对我来说抓包首选的当然是Fiddler,关于如何使用Fiddler,我不多介绍,可以参考利用利用Fiddler对Android模拟器网络请求进行抓包

在抓包前,我们可以先看下它的官方app,非常简单:一个可以滑动的导航菜单+列表:

然后抓取到的接口主要有四个:

导航菜单列表

请求地址:http://www.gifcool.com/appdata/getmenu.php

请求方法:GET

请求参数:无

响应:

{
"data": [
{
"sortrank": 10,
"id": 12,
"typename": "动态图",
"reid": 0,
"type": 1
},
{
"sortrank": 20,
"id": 5,
"typename": "小视频",
"reid": 0,
"type": 2
},
{
"sortrank": 30,
"id": 11,
"typename": "图文",
"reid": 0,
"type": 4
},
{
"sortrank": 40,
"id": 10,
"typename": "污段子",
"reid": 0,
"type": 3
},
{
"sortrank": 45,
"id": 2,
"typename": "美女",
"reid": 12,
"type": 1
},
{
"sortrank": 50,
"id": 3,
"typename": "搞笑",
"reid": 12,
"type": 1
},
{
"sortrank": 50,
"id": 4,
"typename": "碉堡",
"reid": 12,
"type": 1
},
{
"sortrank": 50,
"id": 6,
"typename": "熊孩子",
"reid": 12,
"type": 1
},
{
"sortrank": 50,
"id": 9,
"typename": "萌宠",
"reid": 12,
"type": 1
}
],
"msg": "成功",
"status": 200
}

根据分类的id获取到不同的列表项

请求地址:http://www.gifcool.com/appdata/getlist.php

请求方法:POST

请求参数:

参数 示例 含义
current 1 当前页,从1开始
pagesize 20 每页的数据个数
typeid 12 分类的id,即上方得到的菜单的id值
version 1.0.0 系统的版本号,当前是1.0.0

服务器响应:

{
"data": [
{
"id": 8420,
"title": "看你铲土真辛苦,老天都来帮你",
"pubdate": 1477888799,
"goodpost": 3,
"badpost": 0,
"notpost": 0,
"url": "http://www.gifcool.com/fun/8420.html",
"img": "http://ww3.sinaimg.cn/mw690/55c5a9bfgw1f9bco1apdyg209h0501ky.gif",
"img_s": "http://ww3.sinaimg.cn/small/55c5a9bfgw1f9bco1apdyg209h0501ky.gif",
"width": 341,
"info": " 我就铲了一锹而已啊!",
"height": 180,
"videolink": "",
"video_local": "",
"type": 1,
"msg_num": 0
}
],
"msg": "成功",
"status": 200,
"page": {
"totalnum": 6741, // 总数
"totalpage": 338, // 总页数
"current": 1 //第几页
}
}

喜欢(点赞)

请求地址:http://www.gifcool.com/plus/postGood.php

请求方法:POST

请求参数:

参数 示例 含义
id 8419 当前页,从1开始
version 1.0.0 系统的版本号,当前是1.0.0

响应:

{"msg":"操作成功","status":200}

不喜欢(评差)

请求地址:http://www.gifcool.com/plus/postBad.php

请求方法:POST

请求参数:

参数 示例 含义
id 8419 当前页,从1开始
version 1.0.0 系统的版本号,当前是1.0.0

响应:

{"msg":"操作成功","status":200}

关于喜欢和不喜欢两个接口,它(官方app)是把请求成后的信息(比如点赞成功)记录到了本地的数据库,通过本地数据库的信息来判断你是否已经点赞了。

说明:

该博文只是为了学习而写,该博文的接口也只能用来学习,不可以用做商业用途,以免造成侵权行为。

如果官方(姐夫酷版权所有者)不允许使用它的api接口,请提出,我会立即删除该博文。

如有疑问或建议,欢迎进QQ群来讨论交流:487786925( Android研发村 )

使用Fiddler抓取到的“姐夫酷”API接口的更多相关文章

  1. 在线音乐播放器-----酷狗音乐api接口抓取

    首先身为一个在线音乐播放器,需要前端和数据库的搭配使用. 在数据库方面,我们没有办法制作,首先是版权问题,再加上数据量.所以我们需要借用其他网络播放器的数据库. 但是这些在线播放器,如百度,酷狗,酷我 ...

  2. App开发如何利用Fidder,在api接口还没有实现的情况下模拟数据,继续开发

    相信app开发很多时候,都是等后台出接口,拿到数据调试错误.殊不知,我们完全可以不用等,只要有约定好的接口定义文档,借助工具就能做到,自己模拟数据返回~      下面主要是在项目组开发过程中,使用F ...

  3. Postman - 功能强大的 API 接口请求调试和管理工具

    Postman 是一款功能强大的的 Chrome 应用,可以便捷的调试接口.前端开发人员在开发或者调试 Web 程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的 Fi ...

  4. Web API接口 安全验证

    在上篇随笔<Web API应用架构设计分析(1)>,我对Web API的各种应用架构进行了概括性的分析和设计,Web API 是一种应用接口框架,它能够构建HTTP服务以支撑更广泛的客户端 ...

  5. 常用精品API接口汇总

    下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送.音乐.云.语义识别 ...

  6. SpringMVC Restful api接口实现

    [前言] 面向资源的 Restful 风格的 api 接口本着简洁,资源,便于扩展,便于理解等等各项优势,在如今的系统服务中越来越受欢迎. .net平台有WebAPi项目是专门用来实现Restful ...

  7. 常用API接口汇总

    下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送.音乐.云.语义识别 ...

  8. 【转载】常用精品API接口汇总

    原文链接戳这里~~ 下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送 ...

  9. 使用HttpWebRequest请求API接口以及其他网站资源

    很多时候,我们项目需要其他网站的资源,而这个被请求的网站可能属于你们自己开发管理的网站.也可能是公网上其他网站对外开发的API接口,比如说腾讯的微信公众平台的API接口.各大短信服务商的短信API接口 ...

随机推荐

  1. VS中添加配置X86平台

    最近IIS发布程序时,总是容易碰到下面的错误.这个错误网上绝大部分都是提出在VS把解决方案设置为在X86平台生成,然后再发布.但是查看应用程序后发现没有X86平台选项,下面是添加X86目标平台的方法.

  2. Spring注解驱动开发(七)-----servlet3.0、springmvc

    ServletContainerInitializer Shared libraries(共享库) / runtimes pluggability(运行时插件能力) 1.Servlet容器启动会扫描, ...

  3. CentOS 6.5 Apache+SVN配置

    yum -y install subversion #安装SVN svnserve -- version #查看svn版本信息确定是否安装 yum -y install httpd #安装Apache ...

  4. 隐藏和显示<td>

    <td id="ifXc"><input type="text" value="1"></td>隐藏$( ...

  5. hive启动一些错误记录

    java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMeta ...

  6. c/c++ explicit用法

    试想一个类,它的构造函数只有一个参数, class test { test( int a ) {} 4 } 这时我想用一个int b = 10初始化它,这当然没问题,但如果你用一个字符例如'c'初始化 ...

  7. spring cloud深入学习(一)-----什么是微服务?什么是rpc?spring cloud简介

    近年来,微服务非常的流行,那么为什么是它?简单介绍一下. 为什么是微服务? 微服务架构是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资 ...

  8. 关于github 代码管理,协作开发

    公司要用github 进行项目管理,  了解了一下github相关权限管理. 并做笔记如下: 个人账户可以建立公有/私有  repository ,  公有的全天下的人都能看到,私有的全天下人都看不到 ...

  9. 直接在安装了redis的Linux机器上操作redis数据存储类型--set类型

    一.概述:   在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加.删除或判断某一元素是否存在等操作.需要说明的是,这些操作的时间复 ...

  10. GIT → 04:Git与代码托管平台

    4.1 Git 与 GitHub比较 Git 是一个版本管理工具 , 只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,后面虽然修改过,但是通过git这个工 ...