首先準(zhǔn)備工具
1> Charles (下載對(duì)應(yīng)操作系統(tǒng)的安裝包進(jìn)行安裝,本文使用 macOS 進(jìn)行演示)
2> iPhone (本文使用SE,系統(tǒng)版本:iOS 10)
開始
首先,對(duì)Charles進(jìn)行配置:
菜單:Proxy -> Proxy Settings... -> 勾選 Enable transparent HTTP proxying

然后找到電腦的局域網(wǎng)IP地址:這里自己去找吧
接著,打開你的iPhone:設(shè)置 -> Wifi -> 連接上和電腦同一路由器的Wifi,點(diǎn)擊右邊的 i 進(jìn)入配置
配置:拉到底部,找到 <HTTP代理>, 選擇手動(dòng), 服務(wù)器填入電腦的IP地址,端口號(hào)寫 8888 然后返回會(huì)刷新Wifi連接

此處配置完成后,Charles會(huì)彈出提示框,
大意是:有人請求連接Charles ip是xxx.xxx.xxx.xxx是否允許?
這里要注意?。。harles的默認(rèn)選項(xiàng)是Deny拒絕,所以一定不要按回車!??! 手動(dòng)選擇Allow!??!
到此,即可正常抓取iPhone的連接。
但,目前蘋果的大部分App都采用了更安全的HTTPS進(jìn)行數(shù)據(jù)交互,所以我們要抓取HTTPS還需要進(jìn)一步的配置。
繼續(xù)
回到Charles,進(jìn)行證書安裝:
Charles菜單:Help -> SSL Proxying -> Install Charles Root Certificate 點(diǎn)擊后自動(dòng)打開鑰匙串訪問,請輸入電腦開機(jī)密碼

完成后你會(huì)看見兩個(gè)證書:

雙擊證書,打開證書詳情:展開信任 -> 使用此證書時(shí):修改為 始終信任,關(guān)閉證書詳情要求輸入開機(jī)密碼

兩個(gè)證書都設(shè)置為始終信任。
接著,安裝手機(jī)端的證書:
回到Charles,菜單:Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

點(diǎn)擊后會(huì)彈出對(duì)話框,大意是:配置你的設(shè)備來使用Charles,證書下載地址:chls.pro/ssl

打開手機(jī)Safari,訪問下載地址:chls.pro/ssl? (如果我們顯示的不同,則以提示中的地址為準(zhǔn))
正常情況下訪問此地址會(huì)請求安裝一個(gè)配置文件。若無請求請檢查Wifi是否設(shè)置了 HTTP代理 (參考配置圖:設(shè)置 -> Wifi -> i -> HTTP代理 手動(dòng))。

點(diǎn)擊安裝:

網(wǎng)上很多教程到這就結(jié)束了,但返回Charles會(huì)發(fā)現(xiàn)還是無法正常抓取HTTPS的請求。
其實(shí)還有一個(gè)設(shè)置,信任證書:
打開iPhone設(shè)置:通用 -> 關(guān)于手機(jī) -> 拉到最底部 證書信任設(shè)置 -> 勾選剛剛安裝的證書

好了,回到Charles進(jìn)行最后的收尾設(shè)置:
菜單:Proxy -> SSL Proxying Settings...

勾選:Enable SSL Proxying,點(diǎn)擊 Add 添加規(guī)則

域名:配置完上述所有內(nèi)容后,你會(huì)在Charles中看到很多請求,都是以域名為標(biāo)題。
端口:恒定為443
若不需要指定HTTPS連接(即抓取所有HTTPS連接),域名填寫 * 即可。

TIPS:
> WIFI代理,請?jiān)诓恍枰褂玫臅r(shí)候關(guān)閉,否則可能導(dǎo)致手機(jī)無法正常聯(lián)網(wǎng)。
> 若Charles界面一片空白

點(diǎn)擊菜單:File -> New Session

然后就有了

測試數(shù)據(jù):獲取QQ中的QQ天氣
