zoukankan      html  css  js  c++  java
  • 使用 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配置Charles配置

    2. iPhone上的设置

    1). 获取MAC上的IP

    打开终端,输入命令:

    
    ifconfig en0
    
    

    找到里面的IP地址:

    找到本机IP找到本机IP

    2). 设置IPHONE HTTP代理

    打开iPhone->设置->无线局域网->当前连接的网络->手动,将上一步获得的服务器地址填入对应输入框,端口号填写8888即可。

    iPhone配置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中的请求信息ranking中的请求信息

    然后在到Response中可以看到返回的数据格式是Json,并且从它“见名知意”的key中,可以直接推断出每一个字段的含义。

    返回的Json值返回的Json值

    三、保存信息到本地

    既然已经找到的用户列表,那么抓取用户信息就easy了。可以写脚本来抓取,当然作为iOS开发者,也可以在Xcode中写一个发起网络请求的App来进行抓取,读到数据以后,保存到模拟器沙盒就行了。

    具体的抓取步骤就不讲解了,也不清楚是否侵权,所以还是慎用得好。

    转http://www.saitjr.com/ios/ios-use-charles-fetch-web-request-in-app.html

  • 相关阅读:
    linux三剑客之一:grep详细介绍
    Linux less命令:查看文件内容
    django-crontab执行定时任务
    mahout的数据处理--【根据文本文件创建vector】
    hbase编程demo
    hive0.11安装与配置
    hadoop1.1.2升级1.2.1
    hadoop 1.1.2和 hive 0.10 和hbase-0.94.10-security整合
    hbase配置
    hbase与storm的冲突
  • 原文地址:https://www.cnblogs.com/zhishaofei/p/7542168.html
Copyright © 2011-2022 走看看