在进行app爬虫的时候,由于app没有浏览器这种可以直观看到后台请求的工具,所以要想获取该请求,往往是通过一些抓包软件抓取数据。
Charles是一个网络抓包工具,相比Fiddler,其功能更加强大,并且跨平台的支持更好。所以移动端的抓包工具主要使用Charles。它支持SSL握手,可以自动根据根证书生成一个签名的服务器证书,并且它的官网为我们提供了一个根证书。
现在https协议运用得越来越广泛,如果一个app应用了https,那Charles所抓到的包只能显示乱码,所以需要在Charles上配置相关SSL证书。
整个配置大概分为以下几个步骤:
1. 在PC上下载Charles。
2. PC端配置,在客户端安装好这个根证书,然后让我们的操作系统信任它。
3. 移动端配置,在IOS或Android上指定Charles为它的代理服务器,并装上这个官网提供的根证书。
本人使用的是Windows+MuMu模拟器。
1. 下载Charles
官网上可以发现Charles支持Windows、Mac、Linux三个平台,我们只需选择对应的下载即可,这里不再赘述。
2. PC端配置
- 证书配置
点击安装证书。
默认端口是8888,也可以自行设置。
另外 如果要抓https 还需要进行如下配置
这样可以避免因为抓不到https而出现红色的unknown。
到这,PC端证书配置就完成了。
3. 移动端配置
代理服务器主机名设置成PC的IP地址,可用cmd ipconfig查看。
然后在浏览器中打开:chls.pro/ssl
模拟器中会下载一个包含CA证书的数据文件,完成后打开,显示如下。
在证书名称中输入charles后确定即可。
现在就可以在Charles中抓到模拟器中的https包啦。