一、为手机设置Charles代理
确保手机和电脑在同一网络
查询电脑端IP地址:在Charles的工具栏上点击Help-Local IP Address,可以看到电脑端IP地址
为手机设置代理(ios 安卓略)
手机第一次连charles时电脑会有弹框确认,选择allow即可
二、https抓包设置
1.在Charles的工具栏上点击Help-SSL Proxying,选择install Charles Root Certificate安装证书,证书安装完成设置为始终信任。
2.在Charles的工具栏上点击Proxy-SSL Proxying Settings..,在SSL Proxying选项卡里填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写*,Port填443。
3.在Charles的工具栏上点击Help-SSL Proxying,选择install Charles Root Certificate on a Mobile Device or Remote Browser。
4.手机代理连到Charles,手机浏览器访问chls.pro/ssl,下载证书,下载完成后进行安装。之后在手机->设置->通用->关于本机->证书信任设置->将Charles对应的证书的switch开启,这样就可以正常抓取手机端https请求了。
三、Charles的https请求显示<unknown>,可能原因是什么
可能原因1:电脑端Charles没有安装SSL证书或者没有进行相关设置
可能原因2:手机端没有安装证书
可能原因3:手机端安装完证书后,证书信任设置没有开启
四、Breakpoints功能
选择某个请求,右键,设置断点,可以修改request或者response
五、Map Remote功能(远程映射)
远程映射就是把你要请求的地址,映射到一个远程地址,远程映射我最常用的就是把https变成http,去请求,或者相反。这个很简单,例如我请求百度,百度网址的链接前面是https的,可以将百度改成http的请求,再看一下请求的链接,就会变成http了,而状态码也变成了301重定向了。这里只是举个例子,还可以做其它的修改,像请求百度的地址时,重定向到其它网址也是可以的,或者某个接口重定向到指定的测试环境中,这样就可以测试一下效果如何了。
六、Map Local功能(本地映射)
设置的时候可以选择某一个接口直接右键选择Map Local项或者菜单栏里的Tools->Map Local进入设置,接口上填写需要修改的地址,然后点击“Choose”选择本地的问题就好,那么问题来了,本地文件是哪里来的呢?这个可以从接口上直接复制下来保存到本地,修改本地文件就好了。操作步骤:选定某一个接口,右键选择Save Response,这样就可以保存到本地,直接去保存的本地地址里修改刚刚保存的问题就好。修改后,开启Map Local功能,再次请求改接口就可以从接口的返回参数映射的本地文件。注意:设置好之后,需手动触发请求一次,使用Repeat功能可能没有效果
七、Rewrite功能
八、Compose功能
九、Repeat功能
十、Repeat Advanced功能
Repeat Advanced支持基于一个现有请求同时发起多次相同的请求。可以指定并发数及请求总次数,可以用来验证并发请求的case。如下图所示,指的是4个并发请求,共请求8次