下午本来准备抓取些网页视频地址,做一个小的视频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. day65作业

    有 红.黄.蓝 三个按钮,以及一个200x200矩形框box,点击不同的按钮,box的颜色会被切换为指定的颜色 <body> <div id="app"> ...

  2. CODE[VS]4633:Mz树链剖分练习

    Description 给定一棵结点数为n的树,初始点权均为0,有依次q个操作,每次操作有三个参数a,b,c,当a=1时,表示给b号结点到c号结点路径上的所有点(包括b,c,下同)权值都增加1,当a= ...

  3. idea展示runDashboard的窗口

    一.idea的runDashboard打开workspace.xml文件之后,找到component为RunDashboard的节点处,然后在component标签里添加<option name ...

  4. Ionic 微信支付

    1.安装插件 ionic plugin add https://github.com/mrwutong/cordova-qdc-wxpay.git 2.代码 controller.js angular ...

  5. CentOS 6.5 使用Apache的VirtualHost映射SVN端口

    vi /etc/httpd/conf.d/subversion #修改Apache的SVN配置,如果没有配置过则略过 #<Location /svn> # DAV svn # SVNPar ...

  6. SecondaryNameNode 理解

    NameNode将对文件系统的改动追加保存到本地文件系统上的一个日志文件(edits).当一个NameNode启动时,它首先从一个映像文件(fsimage)中读取HDFS的状态,接着应用日志文件中的e ...

  7. Simple implementation and results of genetic algorithm.

    This experiment was done for the final assignment of my Professional English class. This part has be ...

  8. Django项目:CRM(客户关系管理系统)--41--33PerfectCRM实现King_admin编辑整张表限制

    readonly_table=False#默认表单不锁定 readonly_table=True#默认表单不锁定 # forms.py # ————————19PerfectCRM实现King_adm ...

  9. 7 个令人兴奋的 JavaScript 新特性

    前言 一个ECMAScript标准的制作过程,包含了Stage 0到Stage 4五个阶段,每个阶段提交至下一阶段都需要TC39审批通过.本文介绍这些新特性处于Stage 3或者Stage 4阶段,这 ...

  10. Neo4j系列-简介及应用场景

    1.什么是Neo4j? Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储 ...