模拟器连接Charles的步骤
- 重置你的模拟器确保你没有老的或旧的证书。
- 在Charles菜单,选择Help > SSL Proxying>Install Charles Root Certificate in iOS Simulators。
- 重启模拟器。
- 确保你能够监听到电脑的通信,去菜单Proxy,选择macOS Proxy。
- 在Charles,确保你想要测试的URLs已经启用了SSL Proxying,去菜单Proxy>SSL Proxy Settings…,添加你感兴趣的URLs,使用
*
号代表通配。
否则会出现如下乱码:
正确配置后显示正常:
注意:
如果按如上配置仍然无效,可自行检查
1.是否已开启其他代理或科学上网工具,请关闭;
2.保证Charles在模拟器之前打开。
使用场景
请求模拟
比如模拟503/504请求返回:
- 打开菜单 Tools > Rewrite… 选项。
- 如上图,在右侧边栏的上面写你要测试的URL,下方写你要模拟的返回,这里我们把200状态码替换为503,如下:
注意:
原来模拟503状态码想使用Map Remote跳转到一个报503的URL,这样使用AFNetworking抓取的网络状态码是0,需要使用如上重写HttpStatus的方式
请求设置断点
1.运行你的程序。
2.查看Charles请求列表。
3.选择你需要设置断点的请求,右击鼠标,在弹出的菜单中选择Breakpoints
。
当然如果你的请求参数每次都变化,你可能更适合这种方式,否则下次运行抓取不到断点:
1.选择菜单:Proxy > BreadpointSettings…
2.双击你刚刚设置断点的URL,去掉变量参数。点击OK即可。
3.重新运行程序,程序会停在这个请求处。这里可以选择取消本次断点、中断请求、或继续请求。
参考:
How to Set Up Charles Proxy for an iOS Simulator
Using Charles Proxy to test different HTTP Response Codes