使用Fiddler抓取到的“姐夫酷”API接口
下午本来准备抓取些网页视频地址,做一个小的视频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接口的更多相关文章
- 在线音乐播放器-----酷狗音乐api接口抓取
首先身为一个在线音乐播放器,需要前端和数据库的搭配使用. 在数据库方面,我们没有办法制作,首先是版权问题,再加上数据量.所以我们需要借用其他网络播放器的数据库. 但是这些在线播放器,如百度,酷狗,酷我 ...
- App开发如何利用Fidder,在api接口还没有实现的情况下模拟数据,继续开发
相信app开发很多时候,都是等后台出接口,拿到数据调试错误.殊不知,我们完全可以不用等,只要有约定好的接口定义文档,借助工具就能做到,自己模拟数据返回~ 下面主要是在项目组开发过程中,使用F ...
- Postman - 功能强大的 API 接口请求调试和管理工具
Postman 是一款功能强大的的 Chrome 应用,可以便捷的调试接口.前端开发人员在开发或者调试 Web 程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的 Fi ...
- Web API接口 安全验证
在上篇随笔<Web API应用架构设计分析(1)>,我对Web API的各种应用架构进行了概括性的分析和设计,Web API 是一种应用接口框架,它能够构建HTTP服务以支撑更广泛的客户端 ...
- 常用精品API接口汇总
下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送.音乐.云.语义识别 ...
- SpringMVC Restful api接口实现
[前言] 面向资源的 Restful 风格的 api 接口本着简洁,资源,便于扩展,便于理解等等各项优势,在如今的系统服务中越来越受欢迎. .net平台有WebAPi项目是专门用来实现Restful ...
- 常用API接口汇总
下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送.音乐.云.语义识别 ...
- 【转载】常用精品API接口汇总
原文链接戳这里~~ 下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送 ...
- 使用HttpWebRequest请求API接口以及其他网站资源
很多时候,我们项目需要其他网站的资源,而这个被请求的网站可能属于你们自己开发管理的网站.也可能是公网上其他网站对外开发的API接口,比如说腾讯的微信公众平台的API接口.各大短信服务商的短信API接口 ...
随机推荐
- MaxCompute问答整理之8月
本文是基于对MaxCompute产品的学习进度,再结合开发者社区里面的一些问题,进而整理成文.希望对大家有所帮助. 问题一.通过数据源数据增量同步后,如何查看某一条数据具体被同步到MaxCompute ...
- LUOGU P4074 [WC2013]糖果公园 (树上带修莫队)
传送门 解题思路 树上带修莫队,搞了两天..终于开O2+卡常大法贴边过了...bzoj上跑了183s..其实就是把树上莫队和带修莫队结合到一起,首先求出括号序,就是进一次出一次那种的,然后如果求两个点 ...
- MYSQL实现列拼接,即同一个字段,多条记录拼接成一条
一.首先,新建三张表 DROP TABLE IF EXISTS `article`; CREATE TABLE `article` ( `id` ) unsigned NOT NULL AUTO_IN ...
- Java中String类的常见面试题
1. 判断定义为String类型的s1和s2是否相等 String s1 = "ab"; String s2 = "abc"; String s3 = s1 + ...
- Java学习记录--ModelMapper的使用
在项目中很多时候需要把Model和DTO两个模型类来回转换,保证Model对外是隐私的,同时类似密码之类的属性也能很好地避免暴露在外了. 那么ModelMapper就是为了方便转换而实现的一个类库,下 ...
- hbase 利用rowkey设计进行多条件查询
摘要 本文主要内容是通过合理Hbase 行键(rowkey)设计实现快速的多条件查询,所采用的方法将所有要用于查询中的列经过一些处理后存储在rowkey中,查询时通过rowkey进行查询,提高rowk ...
- HDFS数据读写过程
- 实战经验 | Cassandra Java堆外内存排查经历全记录
背景 最近准备上线cassandra这个产品,同事在做一些小规格ECS(8G)的压测.压测时候比较容易触发OOM Killer,把cassandra进程干掉.问题是8G这个规格我配置的heap(Xmx ...
- AT2164 Rabbit Exercise
传送门 解题思路 首先考虑k=1的情况,对于每一个a[i],它可能会到a[i-1]*2-a[i] 与 a[i+1]*2-a[i]两个位置,概率都为%50,那么它的期望位置为 (a[i-1]*2-a[i ...
- LR11中web_save_timestamp_param
时间戳是现在时间减去现在的时间 减去 1970年1月1日0点00 的时间 ,然后换算成毫秒. 所以我们需要借助 web_save_timestamp_param 来实现. web_save_times ...