使用 Charles 抓取 App 网络请求
最近开发App的时候需要用到大量其他应用的数据,但接口不公开,所以想到了抓取。差不多要读到5W的用户数据,采用的是找到数据接口,然后不停发请求的方式。用到的抓取工具是Charles,本文讲解的应用是WEAR,一款鬼子的应用。
前期准备:
下载Charles,本文不会讲解Charles的使用,不会用的可以看巧哥的文章。
环境信息:
Mac OS X 10.10.3
Xcode 6.3
iOS 8.3
Charles 3.10.1
正文:
一、基本设置
在抓包之前,需要对Charles与iPhone进行基本设置,这些设置均转自唐巧的文章《截取iPhone上的网络封包》部分。
1. Charles上的设置
打开Charles->Proxy->Proxy Setting,设置代理端口为8888,并勾选Enable transparent HTTP proxying。
Charles配置
2. iPhone上的设置
1). 获取MAC上的IP
打开终端,输入命令:
ifconfig en0
找到里面的IP地址:
找到本机IP
2). 设置IPHONE HTTP代理
打开iPhone->设置->无线局域网->当前连接的网络->手动,将上一步获得的服务器地址填入对应输入框,端口号填写8888即可。
iPhone配置
二、抓取WEAR中的数据
1. 打开WEAR
如果是第一次,可以看到Charles弹出的请求连接确认框,点击Allow。
第一次连接的确认框
2. 查看请求
可以看到,在进入WEAR以后,就开始进行主页模块的数据请求,这时就需要通过请求的响应次数来粗略判断下具体的请求地址了。在Charles中,每有请求响应,地址列表就会有黄色高亮。
黄色高亮表示有新的响应信息
我发现http://www.wearzozo.cn/coordinate/9k8r0s/这个地址闪得很频繁,打开查看以后可以看到这是主页模块所有的图片地址。不难看出,WEAR如此庞大的图片数据有独立的服务器作为支撑。
3. 查看用户数据
图片找到了并不能达到最终目的,因为我需要的5W用户的数据,所以继续找。然后找到了一个域名为http://api.wear.jp的请求地址,根据命名经验,可以很直观的看出这是一个专门给客户端提供接口的服务器地址。
展开v1发现里面有两个子目录ranking与timeline,这两个子目录应该分别对应了搭配与新动态模块。
下面就以RANKING为例:
在Overview中可以看到ranking的请求地址为:
http://api.wear.jp/v1/ranking/snaps?pageno=1&pagesize=33&group_id=1&period=1&country_id=13
请求方式为:
GET
内容格式为:
application/json
ranking中的请求信息
然后在到Response中可以看到返回的数据格式是Json,并且从它“见名知意”的key中,可以直接推断出每一个字段的含义。
返回的Json值
三、保存信息到本地
既然已经找到的用户列表,那么抓取用户信息就easy了。可以写脚本来抓取,当然作为iOS开发者,也可以在Xcode中写一个发起网络请求的App来进行抓取,读到数据以后,保存到模拟器沙盒就行了。
具体的抓取步骤就不讲解了,也不清楚是否侵权,所以还是慎用得好。
转http://www.saitjr.com/ios/ios-use-charles-fetch-web-request-in-app.html
使用 Charles 抓取 App 网络请求的更多相关文章
- Fiddler 抓取 app 网络请求数据
通过设置代理在同一个路由器下可以通过 Fiddler 实现抓取 app 的网络数据 步骤如下: 手机(Android ,iOS 都可以)和 PC 连到同一个路由器 对手机连接的 WIFI 设置代理,代 ...
- charles 抓取app https 请求
测试需要抓取app的https请求链接,百度了一下教程,能设置的都设置成功了,但就是抓取不成功,显示如下图 无奈之下还是用谷歌搜索了下(网速极慢),但是庆幸的找到了问题的答案,原因还是手机设置的问 打 ...
- 使用Charles抓取APP之HTTPS请求
Charles是一款非常好用的抓包工具,通常使用它来进行APP开发抓包调试,尤其是HTTPS请求. 一.安装Charles 去官网(https://www.charlesproxy.com/)下载软件 ...
- charles 抓取app端 https 请求
测试需要抓取app的https请求链接,百度了一下教程,能设置的都设置成功了,但就是抓取不成功,显示如下图 无奈之下还是用谷歌搜索了下(网速极慢),但是庆幸的找到了问题的答案,原因还是手机设置的问 打 ...
- Ubuntu安装配置Charles,抓取http网络请求包
http://blog.csdn.net/lylddinghffw/article/details/75322262
- Charles抓取手机https请求
1.下载Charles工具,3.92破解版:http://pan.baidu.com/s/1cko2L4 密码:chmy 2.安装SSL证书,默认安装就可以 3.证书安装成功后,点击详细信息--> ...
- Fiddler将笔记本设置代理,抓取手机网络请求包
第一步:下载fiddler,下载地址:http://www.telerik.com/download/fiddler 第二步:安装fiddler,略过... 第三步:启动fiddler,启动后界面如下 ...
- 对比使用Charles和Fiddler两个工具及利用Charles抓取https数据(App)
对比使用Charles和Fiddler两个工具及利用Charles抓取https数据(App) 实验目的:对比使用Charles和Fiddler两个工具 实验对象:车易通App,易销通App 实验结果 ...
- Charles抓取https请求
最近公司将Windows产品的http请求,替换成https请求了,当https请求超过5次失败,就自动切换回http请求.测试时使用Charles抓包测试. 一.http抓包 http抓包比较简单, ...
随机推荐
- 新硬盘挂载-fdisk+mount案例实操
新硬盘挂载-fdisk+mount案例实操 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 现在很多服务器都支持热插拔了,当有新的硬盘插入到服务器上我们需要将其分区,格式化,然后挂载 ...
- Cubase独占声卡问题
打开Cubase之后,这个软件会独占声卡,其他软件都没有声音了.只需要设置一下即可.设备>设备设置,在VST音频处勾选释放后台驱动即可,如图
- java动态获取上传文件的编码类型
package com.sjfl.main; import java.io.BufferedReader; import java.io.File; import java.io.FileInputS ...
- H5新属性FileReader实现选择图片后立即显示在页面上
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Redis 高可用分布式集群
一,高可用 高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响. 停止服务的原因可能由于网卡.路由器.机房.CPU负载过高.内存溢出.自然灾害等不可预期的原 ...
- HDU - 6313 Hack It(构造)
http://acm.hdu.edu.cn/showproblem.php?pid=6313 题意 让你构造一个矩阵使得里面不存在四个顶点都为1的矩形,并且矩阵里面1的个数要>=85000 分析 ...
- SpringBoot系列: Redis 共享Session
Web项目Session管理是一个很重要的话题, 涉及到系统横向扩展, SpringBoot已经为共享Session很好的解决方案, 这篇文章关注使用Redis共享会话, 同时这也是最常用的方法. = ...
- mini2440开发板jilnk使用
1.安装Setup_JLinkARM_V402d.exe软件 安装完成打开SEGGR J-FLASH ARM,界面如下: 2.用jlink将开发板与pc连接,打开开发板电源,将开关s2拨到nor fl ...
- luogu 1550 [Usaco2008 Oct]打井 最小生成树+小技巧
此题似乎显然最小生成树,小技巧需要注意: 在每个点出井水,需要花费,实际上可以把井水视作所有井下统一的一点,需要走路径到达此点,新图上再最小生成树 将点化作边处理 还有题目写的数据范围一般不可信,开大 ...
- Unet网络
近期利用遥感影像进行路网提取,利用Unet网络进行图像分割 介绍如下: U-net网络非常简单,前半部分作用是特征提取,后半部分是上采样.在一些文献中也把这样的结构叫做编码器-解码器结构.由于此网络整 ...