參考:抓取手機(jī)網(wǎng)絡(luò)請(qǐng)求
在測(cè)試app的時(shí)候蒜撮,往往需要去定位問(wèn)題,找到所拋出的請(qǐng)求是否異常麻敌,Mac 平臺(tái)下課通過(guò) Charles 來(lái)實(shí)現(xiàn)妇汗,那么如何抓到手機(jī)拋出的請(qǐng)求呢帘不?
前提: Mac 和 手機(jī)處在同一局域網(wǎng)下
1. 配置 Charles 實(shí)現(xiàn) HTTP 請(qǐng)求的抓取
1. 設(shè)置 Charles 代理
Charles -> Proxy -> Proxy Settings -> Proxies, 在 Http Proxy 的 Port 中填寫(xiě)代理的端口,默認(rèn)為 8888.
2. 獲取 Mac 當(dāng)前 IP
方法有很多種杨箭,介紹一種最簡(jiǎn)單的
按住 option 鍵寞焙,點(diǎn)擊右上角的 WiFi 圖標(biāo)即可
3. 設(shè)置手機(jī) HTTP 代理
設(shè)置 -> 無(wú)線局域網(wǎng) -> 與 Mac 同一 WiFi -> 點(diǎn)擊右側(cè)的信息 -> 頁(yè)面最下面設(shè)置 HTTP 代理,服務(wù)器和端口在前兩部中已獲得互婿,填入即可捣郊。
注意: 在不使用的時(shí)候需要將手機(jī)中的 HTTP 代理關(guān)閉,否則 mac 關(guān)機(jī)或者關(guān)閉軟件后慈参,手機(jī)無(wú)法正常上網(wǎng)呛牲!
2. 配置 Charles 實(shí)現(xiàn) HTTPS 請(qǐng)求的抓取
如果不進(jìn)行下面的設(shè)置, https 的 reqeust 和 response 都是亂碼驮配,設(shè)置完之后 https 就可以抓包了娘扩。
1. Mac 端安裝證書(shū)
點(diǎn)擊 Charles 菜單的 help -> SSL -> proxying -> install charles root certificate
2. 從 Keychains 找到剛安裝的證書(shū),并選擇信任
安裝完成后 keychains 會(huì)自動(dòng)彈出僧凤。選擇信任后畜侦,需要輸入 Mac 的登錄密碼才能保存。
3. 手機(jī)端安裝證書(shū)
Safari 中輸入 chls.pro/ssl躯保, 按提示一步步操作即可旋膳。此步需要輸入手機(jī)密碼。
注意: 對(duì)于 iOS 10.3途事,安裝完成后并不算結(jié)束验懊,還需要一步設(shè)置
設(shè)置 -> 通用 -> 關(guān)于本機(jī) -> 證書(shū)信任設(shè)置,找到 Charles 的證書(shū)尸变,選擇信任义图。
4. Charles 設(shè)置
Charles -> Proxy -> SSL Proxy Setting
在彈出的窗口勾選 Enable SSL Proxying, 選擇 Add,在彈窗中填入要抓取的域名和端口召烂,如 API碱工,baidu.com, Port: 443
配置完成奏夫,在手機(jī)端打開(kāi)一個(gè) https 站點(diǎn)試試怕篷。
Https 請(qǐng)求的 response 的 content 不再是亂碼,可以愉快的玩耍了酗昼。
不用的時(shí)候最好還是關(guān)掉廊谓,需要的再打開(kāi)就好。