Charles抓包http/https请求

移动开发经常需要接口调试,有时需要抓取网络请求进行分析排错。下面就Charles这款抓包工具来简要说明一下http和https两种类型的网络请求的抓取过程。

硬件:电脑一台(本例为Mac),手机一部(本例为iPhone),软件:Charles(可以下载官方试用版,也可找个**版的)


1、http类型网络请求抓取

  • Mac连WiFi,进入网络偏好设置,找到网络ip地址,如下图所示

Charles抓包http/https请求
  • iPhone连接相同的WiFi,然后按下面几步操作:

Charles抓包http/https请求Charles抓包http/https请求Charles抓包http/https请求Charles抓包http/https请求

  • Mac打开Charles,此时iPhone访问网络,Charles会弹出窗口,选择Allow:

Charles抓包http/https请求
至此,iPhone上发出的http类型的请求都会被抓取,类似这样(这里抓到的是一个图片链接):

Charles抓包http/https请求

2、https类型网络请求抓取

http类型网络请求的抓取比较简单,https的就相对麻烦一些。

没有配置抓取https前,抓取到的https请求是类似这样的,都是乱码:

Charles抓包http/https请求

下面是配置抓取https的详细步骤:

  • 上面配置完代理后,打开Charles上面工具栏的Help -> SSL Proxying ->Install..... ,如下图所示

Charles抓包http/https请求
然后会弹出如下图所示的弹窗,

Charles抓包http/https请求
在你iPhone的Safari浏览器地址栏输入上图弹窗中的网址(注意iPhone要连上我们之前配置的代理),前往网址会弹出

Charles抓包http/https请求
点击允许,然后会跳转到

Charles抓包http/https请求
验证完成后,开始设置Charles的SSL Proxying,

1、

Charles抓包http/https请求
2、

Charles抓包http/https请求Charles抓包http/https请求
3、上一步完成后,就可以抓取https的请求了(注意只能抓取你上一步添加过host和443端口的https请求),再也没有乱码了

Charles抓包http/https请求