Charles连接手机移动端的基本使用及教程

2023-11-19

一、Charles基本使用

1、打开  Help — Local IP Address。查看本机的IP地址

2、设置手机,手机需要连接到和电脑在同一网络的 WIFI

依次打开“设置 — 无线局域网 — 点击已选wifi最右边的感叹号”

填好以后,返回。

打开Chales即可看到手机的http请求都可以被Charles监控

以薄荷营养师为例:

清空接口:可以清空侧栏所有记录的接口

停止记录:接口依然会通过代理,但是不会在侧栏记录和显示

二、抓包Https请求

上面最基本的抓包使用,是不能抓取https的数据的,抓取到的https数据是乱码的。随着苹果方面的要求,iOS 的App都需要使用https的请求。所以绝大部分的接口还是需要https。所以charles需要支持https

1、电脑证书

选择“Install Charles Root Certificate” 后可能需要输入电脑密码,输入密码以后,会自动打开“钥匙串”

此时电脑证书已经安装成功,在钥匙串中找到相应的证书

Charles Proxy CA

双击证书,把证书的信任设置为“始终信任”

2、Charles设置

打开Charles的 SSL Proxying Settings...

3、手机证书

在保证手机连接到了charles的代理后,再安装手机证书

按照上面路径,可以看到下面这个,并且第二段也很重要,告诉你信任证书的路径

★  注意:对于iOS 10.3及其以后的版本,安装完证书后,还需要设置证书的权限

路径 “设置 — 通用 — 关于本机 — (滑到最下面) — 证书信任设置 ” 把对应证书的开关打开

手机安装证书完成后的界面如下:

三、断点的使用

1、什么是Charles的断点

在抓取接口时,请求发出去之前,拦截并暂停。此时可以修改请求的参数

在接口返回数据,而数据到达客户端之前,拦截并暂停。此时可以修改返回的数据

2、添加断点

方法一

直接根据自己的需求添加断点

方法二

快速添加断点

右击特定接口,直接添加接口断点

在这个模式下,可以整个域名下所有接口添加断点

3、快速添加断点时需要注意

打开断点设置界面,查看新添加的断点中的 Query 项是否有类似时间戳的参数,如果有的话,每次请求的时间参数不同,会导致下次请求的时候,由于时间参数不同,断点功能失效。解决方法可以清空 Query项的内容。

使用断点

设置好接口断点以后,再次请求该接口,Charles就会出现如下界面

接口断点

结束断点后,App拿到的收据就是你修改后的数据

这个功能还是比较实用的,这样就可以省掉一些服务需要的配合,自己可以通过修改数据来模拟不同的情况

四、重定向、加载本地数据

1、在开发和测试过程中,不免会遇到这种情况。就是频繁切换开发环境和测试环境,或者是开发环境中的数据比较丰富,需要切换到开发环境看一下数据显示情况,这个时候charles的重定向功能就很好用了

2、还可以通过对接口右击方式添加,如下图

这样设置好后,再此访问wmapi-mt.meituan.com就会被转到newwmapi-mt.meituan.com这个域名,不需要切换的时候,只需要关闭功能即可

五、加载本地数据

上面我们介绍了通过断点可以修改返回数据,来模拟不同的显示情况。断点的情况只适合比较少以及快速的修改,若需要修改特别多的数据。或者是在开发刚开始,接口还不可以使用的时候,移动端需要一些数据来支持自己的开发,这个时候就可以使用charles加载本地的假数据来开发

这个时候需要配合使用软件JsonEdit。链接:百度网盘 请输入提取码  密码:o9q6

通过JsonEdit软件和后台接口文档的结构,自己制造出假数据

 保存到本地json数据

本地数据制造完成后,返回到Charles,选择需要假数据的接口,右击

这样设置好后,此接口的数据就是加载本地刚刚保存的数据,修改本地数据,然后重新请求接口,App上显示就会跟着改变。在自测环节是很高效的

   关于安卓端的连接可以参考这篇文章:接口测试 玩转 charles

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Charles连接手机移动端的基本使用及教程 的相关文章

  • Java面向对象编程(建议收藏)

    面向对象编程是一种方法 被广泛引用与Java中 接下来我将从 包 继承 组合 多态 抽象类和接口这几个方面进行全面的讲解 一 包 包是组织类的一种方式 包从直观上看就是一个文件夹 jar包中包含的都是字节码文件 包一般分为导入默认包 静态导

随机推荐

  • obs 之 OBSObj

    从实例学习c 之 1 内联构造 虚构2 移动构造 移动赋值3 禁用拷贝构造和赋值4 该类虚构不为 virtual 5 使用实例 using OBSDisplay OBSObj
  • 【一键卸载mysql-5.7.38数据库+dos命令bat脚本】

    一键彻底卸载mysql 5 7 38数据库 echo off color 0e echo Start Delete MySQL Process echo Author LSJ echo echo 删除注册表开始 Regedit echo r
  • smali语法及参考说明

    smali语法可以参考官方说明 因为google服务器经常无法访问 这里把重要点摘抄出来 文章挺浅显的 就不翻译了 TypesMethodsAndFields Some general information about how types
  • 计算机数据的存储-编码(补码,移码)

    在计算机系统中 补码是最重要的编码 数值一律用补码来表示 存储 主要原因 使用补码 可以将符号位和其它位统一处理 同时 减法也可按加法来处理 另外 两个用补 码表示的数相加时 如果最高位 符号位 有进位 则进位被舍弃 2 补码与原码的转换过
  • Hive order by,sort by,distribute by,cluster by 区别

    假设有一个表a 结构如下 par id c 3 c 7 b 8 b 6 a 1 a 4 a 5 c 9 a 10 b 2 order by 全排序 只会启动一个reduce执行任务 select from a order by id 在hd
  • 【C++】怎么接受未知数量的参数?

    2023年9月8日 周五下午 目录 第一种方式 可变参数函数 Variadic Function 头文件 使用方法 详解va start宏 详解va arg宏 示例程序 第一种方式 可变参数函数 Variadic Function 可变参数
  • 第2讲 Hi3861的WiFi实验-Station模式

    引言 在本文中 带大家编写一个程序 测试Hi3861的WiFi Station模式 进一步熟悉相关API的使用 请先按照本专栏第一讲中的第四部分准备好实验环境 一 编写程序 首先 打开 DevEco Device Tool 在鸿蒙项目 hi
  • Mysql JDBC Driver参数配置

    1 建立连接配置 1 user 连接的用户 默认值 无 2 Password 连接时使用的密码 默认值 无 3 socketFactory 驱动程序用于创建与服务器套接字连接的类的名称 该类必须实现了接口 com mysql jdbc So
  • 问题解决:io.lettuce.core.RedisCommandTimeoutException: Command timed out after

    环境 spring boot starter 2 x 和 sprig data starter data redis 2 x 在使用 connection bRPop timeout rawKey 方法时 如果这里的timeout大于spr
  • 飞桨AI Studio(星河社区)推出文心大模型的SDK功能

    随着大模型的涌现 我们喜悦于其远远超越小模型的性能 但又不得不面临大模型开发难的困境 训练难 微调难 部署难 开发者难以将其投入实际生产 不仅面临资源的限制 更面临高精数据难寻 时间成本过高等问题 为了让平台更多开发者可以进行大模型开发 体
  • 有序顺序表的插入

    下面看问题场景 如图是一个有序表 有序表是用数组承载的 然后我想把 元素 8插入到有序表 怎么实现呢 下面开始用人脑模拟 要把 8 插入到有序表 先从有序表的第一个元素和8进行比较 依次看到了7 下一个元素9大于8 停止遍历 我们就把 8
  • ABAP动态编程-动态生成报表、动态屏幕

    目录 前言 一 动态生成报表并调用 二 动态生成屏幕并调用 总结 前言 本文主要讲述ABAP编程中根据逻辑自动生成报表及屏幕 依托语句GENERATE DYNPRO 的实现示例及简单说明 一 动态生成报表并调用 代码示例 Create re
  • Map对象以及作用域

    首先我们要明白什么键值对 键值对 key value 顾名思义 每一个键会对应一个值 例 a 身份证号和你本人是绑定的关系 每一个身份证 键 会对应一个人 值 b 登录微信和游戏 需要输入手机号验证身份 手机号码 键 对应接收用户 值 每个
  • core_cm3.h文件报错问题

    D Software Keil5 ARM PACK Keil STM32F1xx DFP 2 1 0 Device Include stm32f10x h 483 error 5 cannot open source input file
  • mysql批量插入数据

    比较两种批量插入数据的方法 差距不是一般的大 方法一 最笨重的方法 一条一条的插入 sql语句如下
  • 假定CSomething是一个类,执行下面这些语句之后,内存里创建了____个CSomething对象。...

    CSomething a CSomething b 2 CSomething c 3 CSomething ra b CSomething d b CSomething pA c CSomething p new CSomething 4
  • Python自动化测试之异常处理机制知识讲解

    一 前言 今天笔者还是想要讲python中的基础 主要讲解Python中异常介绍 捕获 处理相关知识点内容 只有学好了这些才能为后续自动化测试框架搭建及日常维护做铺垫 废话不多说我们直接进入主题吧 二 异常处理合集 2 1 异常处理讲解 在
  • 四川百幕晟科技有限公司:抖音名称最多多少字?

    在抖音上 用户可以为其帐户选择昵称 该昵称显示在用户的个人资料中 不过 很多人好奇 一个抖音昵称到底能有多少个字 本文将深入探讨抖音昵称长度限制以及一些最吸引人的昵称示例 1 抖音昵称长度限制 抖音昵称的长度限制是一个相对灵活的规定 具体而
  • android判断一个Activity是否处于栈顶

    实际开发中我们需要很多情况需要判断某个activity是否位于栈顶 也许会给新的小伙伴带来困扰 那么直接上代码吧 也没几行 判断某activity是否处于栈顶 return true在栈顶 false不在栈顶 private boolean
  • Charles连接手机移动端的基本使用及教程

    一 Charles基本使用 1 打开 Help Local IP Address 查看本机的IP地址 2 设置手机 手机需要连接到和电脑在同一网络的 WIFI 依次打开 设置 无线局域网 点击已选wifi最右边的感叹号 填好以后 返回 打开