【Charles】使用Charles如何抓取移动端的https请
首先,需要将 Charles 的代理功能打开:在 Charles 的菜单栏上选择 Proxy -> Proxy Settings,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的设置。如下图所示:
还需要在SSL Proxying Settings里设置我们需要监听的app域名:
然后,我们需要获取 Charles 运行所在电脑的 IP 地址,Charles 的顶部菜单的 Help -> Local IP Address,即可在弹出的对话框中看到 IP 地址,如下图所示:
接着,将手机上的网络手动设置代理,服务器主机名就是上一步中获得的ip地址,端口号为第一步里的端口号。
设置好之后,我们打开手机上任意程序,就可以看到 Charles 弹出手机请求连接的确认菜单,点击 “Allow” 即可完成设置。
至此,便可以抓取移动端上的http请求。
那如何抓取https请求呢?很简单。
首先,我们需要安装证书:点击 Charles 的顶部菜单,选择 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser。点击之后会出现如图所示弹窗:
接着,将移动端设置代理后,打开浏览器,输入上图红线标示的地址,直接访问,就可以在移动端下载证书了。下载安装证书之后,便可以抓取https请求了。
需要注意的是,在苹果机上下载证书之后,需要到 设置—>通用—>关于本机—>证书信任设置 里,打开对刚才所下载证书的信任才行。
有时候关闭charles之后,网页也打不开,需要我们手动关闭电脑的代理:
参考链接:http://blog.devtang.com/2015/11/14/charles-introduction/