Charles能夠正常抓取http數據包,可是若是沒有通過進一步設置的話,沒法正常抓取https的數據包,一般會出現亂碼。舉個例子,若是沒有作更多設置,Charles抓取https://www.baidu.com的結果以下:瀏覽器
上圖顯示都是亂碼,爲了正常能夠抓取到數據,咱們須要經過如下配置:iphone
安裝Charles: 演示版本是4.0.23d
手機設備:iphone代理
電腦系統:MACblog
在Charles菜單欄中選擇Help -> SSL-Proxying -> Install Charles Root Certificate:ip
將證書安裝到本地,注意這裏須要雙擊證書設置證書被始終信任,否則默認是未信任的:ssl
在Charles菜單欄中選擇Help -> SSL-Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser:get
這時候,Chrome會彈出一個窗口,以下:域名
提示內容爲,在設備中先設置好代理,其中ip爲紅色橫條顯示的區域,端口爲8888,而後經過設備的默認瀏覽器(這裏是safari)輸入chls.pro/ssl訪問,便可安裝證書。輸入chls.pro/ssl回車後便會提示安裝證書:safari
安裝完證書後,還需在Charles要配置下所須要抓包的https路徑,在Charles菜單欄中選擇Proxy -> SSL Proxy Settings,而後勾選Enable SSL Proxying,而後添加一個路徑,其中Host是須要訪問路徑的域名,端口默認爲443:
到此,配置結束。
接下來,咱們就能夠正常抓取https:www.baidu.com的數據包了,以下:
注意:這裏使用Charles版本是4.0.2,若是是比其更低的版本,可能不能設置成功,因此最好安裝4.0.2以上的版本,再來依照此文進行配置,若是還有其它問題,請留言。