接口测试之Charles使用

tech2025-10-13  4

一、概述

Charles是一款Http代理服务器和Http监视器,当移动端在无线网连接中按要求设置好代理服务器,使所有对网络的请求都经过Charles客户端来转发时,Charles可以监控这个客户端各个程序所有连接互联网的Http通信。 Charles 主要包含如下功能: 1)截取 Http 和 Https 网络封包 2)支持重发网络请求,方便后端调试 3)支持修改网络请求参数 4)支持网络请求的截获并动态修改 5)支持模拟慢速网络

二、安装及配置

1.1、安装

Charles安装包可进入Charles官网,下载相应系统的Charles安装包,按提示安装即可

1.2、破解

由于官方版本只支持免费使用30天,可通过替换安装包内容中的charles.jar 文件进行破解, 在线生成 charles.jar

2、电脑端安装证书

打开Charles,Help-SSLproxying-Install Charles Root Certificate,按照以下步骤完成电脑端证书安装

3、Windows Proxying设置

若勾选了Proxying-Windows Proxy选项,则会抓取电脑本地发送的请求,如不需抓取本机请求时,可不勾选该选项

4、SSL Proxying Settings设置

打开部分https请求发现显示为“unknown”,一般需设置允许,可在Proxy-SSL Proxying Settings-SSL Proxying,勾选Enable SSL Proxying,添加允许请求列表

5、抓取移动端APP请求设置
A)、设置Charles代理端口

B)、查看本机IP

方法一:DOS下输入ipconfig查看

方法二:Help-Local IP Adress

C)、手机端设置代理

手机端设置完成后,PC端Charles一般会弹出一个如下提示的界面,如有提示,表示连接成功,注意点击allow允许:

D)、手机端安装证书

手机端浏览器输入chls.pro/ssl安装证书(以iOS为例)

三、Charles基本功能

3.1、Mock功能

Charles 的 Map 功能分 Map Remote 和 Map Local 两种,Map Remote 是将指定的网络请求重定向到另一个网址请求地址;Map Local 是将指定的网络请求重定向到本地文件。 Mock步骤(Map Local为例): A)、选中某个请求,保存响应 B)、复制保存的响应到bejson格式化工具(www.bejson.com)中转换 C)、将转换后内容重新拷贝至保存文件内,修改部分内容 D)、Charles设置 E)、手机端重新刷新请求 F)、Map Remote设置Mock

3.2、限速功能

移动APP测试过程中经常遇到弱网环境测试,Charles提供了网速限制功能 Proxy-Throttle Settings,勾选Enable Throttling

3.3、断点功能

接口测试时有时需要反复验证不同参数的网络请求,Charles 提供了网络请求的修改和重发功能 A)、添加断点(选中需要修改的接口,鼠标右键-breakpoint) B)、设置断点(Proxy-Breakpoints Settings) C)、刷新手机页面,重新请求接口,根据需求进行接口编辑

3.4、Rewrite 功能

Charles 的 Rewrite 功能常用于对某一类网络请求进行一些正则替换,以达到修改结果的目的,Tools-Rewrite

3.5、过滤网络请求

方法一:Charles主界面左下角 Filter 栏输入需要过滤出来的关键字: 方法二:Proxy-Recording Settings-Include,添加一个项目,填入需要监控的协议、主机地址、端口号等信息 方法三:在想过滤的网络请求上右击,选择 “Focus”,Sequence栏下,Filter 栏勾选上 Focussed 选项

3.6、反向代理

日常工作中如需将本地的端口映射到另一个远程的端口时,此时需要用到Charles的反向代理功能,设置路径:Proxy - Reverse Proxies - Edit Reverse Proxy 参考文档: https://blog.csdn.net/weixin_43307577/article/details/88998565 https://www.axihe.com/tools/charles/charles/tutorial.html https://blog.csdn.net/tianjing222/article/details/88139318

最新回复(0)