zoukankan      html  css  js  c++  java
  • charles手机代理设置与mock数据

    背景:

    移动开发的朋友经常会需要对手机网页进行抓包,查看移动端app下webview请求的接口,以及mock数据测试等。

    我这里使用了charles,我是windows系统,也很方便使用。

    安装:

    安装charles,charles最好是安装官方网站的,其他网站有破解中文版的安装后有时候会有一些功能异常。

    连接代理:

    1、电脑端安装证书:在charles软件中点帮助——ssl代理——安装charles root证书,根据提示一步一步安装证书;

    2、手机连代理:在手机保证和电脑连接同一个wifi的前提下,开启手机代理,输入服务器地址:例如 :192.168.x.xxx,端口号为:8888,(端口号可以在charles里自己配置,默认8888)

    有时候新手机连接代理,charles会提示是否允许,点击allow;

    3、手机装证书:点击帮助——ssl代理——在移动设备或远程浏览器上安装charles root证书,看到如下界面:

     如果没提示需要在手机端安装证书后设置一下(设置方法:ios : 设置——通用——关于本机——证书信任设置——找到证书——开启信任开关);

    浏览器输入:chls.pro/ssl,打开根据提示安装证书,

    4、手机证书信任设置:ios 手机在通用——关于本机——证书信任设置——打开后找到刚刚安装的证书,选择打开,安卓手机一般在辅助功能里可以找到(这里证书必须要安装,否则不能抓包https请求);

    5、抓包:此时就可以在手机端访问app页面了,charles上会看到每个访问请求的接口,返回的数据等。

    数据劫持:

    本地映射

    本地映射主要让接口请求到本地json文件

    手机点击app页面,可以看到charles请求接口,选择charles左侧请求列表中最内层的接口,打开查看返回的数据,已经得到请求的数据,右键——本地映射,打开后已默认填好端口协议主机号,我们把查询(即参数)删除,也可以选择填入需要的参数,参数格式:*参数a=111*,映射到本地路径——选择——选择本地mock.json文件位置,保存,再次请求的时候,可以看到已经直接返回了我们的mock数据。

    也可以在 tools --->Map Local 里设置,可同时设置多个

    remote

    remote主要让对应的请求地址映射到另一个请求地址上(比如线上地址映射到测试地址上)

     tools --->Map Remote,设置的时候注意,http 服务器端口为 80 ,https 服务器端口号为 443。

    rewrite

    配置rewrite重写,适用于直接将线上offer劫持,进行错误复现和调试。

    工具——重写——启用重写——添加——起名称——添加重写规则——类型选择正文——往哪里选择响应——

    匹配值:比如:“url”

    全部替换:"值:

    也可以把线上的url放入另一个自定义字段中,进行统一替换,比如替换值:"url:"新url","url_old:"

     【注意】

    有时候charles都配置好了,但是抓到的接口数据都是unknow,在charles——代理——访问控制设置(Access control settings)——添加0.0.0.0/0,就可以了。

  • 相关阅读:
    【转载】Gradle学习 第八章:依赖管理基础
    【转载】Gradle学习 第七章:Java快速入门
    【转载】Gradle学习 第六章:构建脚本基础
    【转载】Gradle学习 第四章:安装Gradle
    【转载】Gradle学习 第三章:教程
    【转载】Gradle学习 第二章:概述
    【转载】Gradle学习 第一章:引言
    android studio学习----偏好设置
    android studio学习----创建模拟器
    前端生成二维码
  • 原文地址:https://www.cnblogs.com/beileixinqing/p/11059189.html
Copyright © 2011-2022 走看看