设置
Charles 可以用来截取 iPhone 上的网络请求
-
将 Charles 上的代理打开
具体在 Proxy-Proxy Settings,如图,port 填入 8888,并勾选 "Enable transparent HTTP proxying"
- 获取安装 Charles 电脑的 IP 地址
具体在 Charles-Help 菜单-Local IP Addresses - iPhone 代理设置
具体在 iPhone 设置-无线局域网-当前连接的 Wi-Fi 名,点击右边的详情键,在当前 Wi-Fi 的详细信息页中,最下方的 HTTP 代理一项,切换为手动,并填上上一步获取的电脑 IP 地址,端口号填 8888
设置好后, 打开手机,点击需要网络请求的程序,即可看到 Charles 弹出 iPhone 网络请求连接的弹窗,点击 Allow 即可。
截取 iPhone SSL 信息
-
电脑安装 Charles 证书
具体在 Charles-Help-SSL Proxying-Installing Charles Root Certificate,点击后,会弹出电脑“钥匙串访问”,找到 "Charles Proxy CA",右击-显示简介,将“信任-使用此证书时”设为始终信任
- iPhone 安装 证书
还是进入上一步的 Charles-Help-SSL Proxying,这次点击 "Install Charles Root Certificate on a Mobile Device or Remote Browser",按照上面的提示,在 iPhone 浏览器中进入对应的 url(一般为 chls.pro/ssl),此时手机会进入跳转到设置中安装证书
备注:如果是 iOS 10 或以上的版本,还需要跳转到 设置-通用-关于本机--证书信任设置,打开 Charles Proxy CA 信任设置 - Charles SSL Proxying port 设置
进入电脑 Charles-Proxy-SSL Proxying-Settings,在 SSL Proxying 下点击 add 按钮,在弹出的窗口中 Host 栏输入 "",Port 栏输入"" 或者 "443",确定。
- 重启 Charles 即可截取 iPhone 发送的 SSL 信息了