首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

charles常用操作指南

1.Charles介绍:

Charles is an HTTP proxy / HTTP monitor / Reverse Proxy thatenables a developer to view all of the HTTP and SSL / HTTPS traffic betweentheir machine and the Internet. This includes requests, responses and the HTTPheaders (which contain the cookies and caching information).

http代理服务器,可以查看http的请求/返回,并且可以做转化。

安装SSL证书之后,也能够查看并转换https

工作中常用charles的场景:

抓包,看接口具体的请求与返回数据。

重定向,例如我现在只有一个线上的app正式包。用charles可以直接转成你的测试环境的包,而不需要重新打包安装。web上的网络访问,也可以使用charles将访问线上地址,转成访问你的测试环境的地址。

模拟请求、返回数据,构造场景。通过修改本地数据,方便的发送你期望的请求数据、或者模拟接收你需要的返回数据,而不需要在实际的场景中构造。

下载、安装:

下载地址:

https://www.charlesproxy.com/download/

安装: dmg解压安装

注册:

打开charles,进入Help→ Register,输入下面的注册信息:

Registered Name: https://zhile.io

License Key: 48891cf209c6d32bf4

注:不注册也可以使用,但是有使用限制。每30分钟它就会自动退出一次。所以建议注册。

基本操作:

电脑连接charles-- Mac OS X proxy

Proxy→ Mac OS X proxy

勾选: mac电脑上所有的网络请求走charles

不勾选:mac电脑上的所有网络请求不走charles。

手机连接charles:

打开charles,查看机器IP: Help→ Local IP address;

配置chalres访问端口:Proxy→proxy settings, 默认8888:

打开手机wifi,连接charles:进入你手机的wifi设置,输入以上的IP地址和端口。

不同手机的wifi设置稍有不同,以iOS为例:

4. 重启wifi,使配置立即生效。

5. 在chales的UI上点击允许连接。

6. tips:万一点错了,点了拒绝怎么办?Proxy→Access Control Settings,加入你手机的IP。

清空记录-- 关闭session:

新建session (记录recording):

Recording is the primary function of Charles. Requests and responses are recorded to the current Session for you to later inspect and analysis.

查看所有接口请求/返回:

按照structure查看-- 按照接口地址展示

按照sequence查看–按照请求先后次序展示:

overview:请求的基本信息,包括请求的网络地址、请求方式、响应时间等。

请求--查看请求的head、cookie等:

返回:查看返回数据,支持多种格式展示:

filter:

在众多的数据中,筛选自己想要的网络请求。例如只关注访问线下环境的请求

技能升级:

host转换–Map remote。访问A地址的时候,其实访问的是B地址。例如,访问线上环境地址,用charles重定向到你的测试地址:

tools->Map remote,进入Map Remote Settings:勾选“Enable Map remote”,点击add。

Edit Mapping。From是你的A地址,To是你的B地址。如果协议和port不填,就默认所有的都生效。

点击保存。再次访问A地址,从charles上能看到,其实访问的是B地址。典型的用于mirror环境验证、线上线下环境切换等。

注意:在setting 中,勾选才生效。

模拟请求/返回-- map local:用于模拟请求数据或者返回数据。case:抓到一个请求返回的金额为1,期望看金额返回为100或者0.01时的展示。

先将接口之前的数据保存在本地。在接口recording上右键,选择save Response。

修改本地数据。例如将金额的1改成100. json文件推荐在 json.cn 中改,避免格式错误。

在接口recording上右键,选择map local,进入edit mapping。或者从tools菜单进入也可以。

选择你本地的local文件

通过修改本地文件,即可模拟该接口的返回数据为本地文件的内容。

设置中断-- Blacklist:为了保证产品的健壮性,可能会需要模拟依赖的服务器挂了的异常处理。例如顺手付接口。方法:

在接口recording上右键,选择Black List。

或者Tools→Black List。勾选enable,add。写入接口信息。

模拟网速-- 构造弱网环境:

Proxy→Throttle settings,调低上传下载带宽,构造弱网环境。

重复请求–Repeat:

模拟再次发同样的请求,无需触发。

右键点击接口,选择repeat。会直接发出一条同样的请求。

支持https:

电脑上安装证书:

点击Charles的顶部菜单,选择“Help” -> “SSL Proxying” -> “Install Charles RootCertificate”,然后输入系统的帐号密码,即可在KeyChain看到添加好的证书

注意:PC端添加证书之后需要到钥匙串中始终信任下

charles信任443端口:

手机上SSL证书安装:

点击Charles的顶部菜单,选择“Help” -> “SSL Proxying” -> “Install Charles Root Certificateon a Mobile Device or Remote Browser”,然后就可以看到Charles弹出的简单的安装教程。如下图所示:

在设备上设置好Charles为代理后,在手机浏览器中访问地址:http://chls.pro/ssl即可打开证书安装的界面,安装完证书后,就可以截取手机上的Https通讯内容了。

iOS 10.3 以上,安装新的自定义证书后,必须手动开启信任开关:

设置->通用->关于本机->证书信任设置->找到charles proxycustom root certificate然后信任该证书即可.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180813G0QIZI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券