Charles 又名“青花瓷”,以其ICON得名钩乍。
20210702172030.jpg
用途:
網(wǎng)絡(luò)請求抓包、模擬網(wǎng)絡(luò)延遲怔锌、修改網(wǎng)絡(luò)參數(shù)(request\response)等寥粹。
使用場景
項目規(guī)模較大,流程較多埃元,需要對某個網(wǎng)絡(luò)請求進行監(jiān)測和調(diào)試涝涤,并測試接口在返回不同數(shù)據(jù)時前端的處理是否符合預(yù)期。
可能會有同學(xué)說岛杀,使用Xcode斷點就可以了呀阔拳! 是的,當(dāng)項目比較簡單的時候类嗤,使用Xcode斷點配合debug控制臺使用LLDB命令就可以了糊肠。
BUT 當(dāng)你遇到Xcode 本身斷點添加后項目運行緩慢辨宠,或者斷點有時不起左右的時候,用它罪针,Charles彭羹!
痛過才知好用
最近新接手一個大(規(guī)模)項目,斷點何其多泪酱!上圖派殷!
20210702174153.jpg
項目運行起來后,在打斷點的地方墓阀,偶爾會斷不住毡惜,導(dǎo)致好不容易創(chuàng)建的測試數(shù)據(jù)被浪費掉,浪費寶貴時間斯撮。
配置Breakpoint
Breakpoint(斷點)经伙,但是是Charles的斷點, 可以攔截網(wǎng)絡(luò)請求勿锅,然后修改該請求的header body等參數(shù)帕膜,然后發(fā)出請求。這樣就可以方便的修改請求數(shù)據(jù)溢十,模擬各種場景垮刹。
20210702175356.jpg
20210702175532.jpg
輸入想要攔截的請求URL:
20210702175906.jpg
20210702175955.jpg
完成上面的配置后,請求發(fā)生時张弛,Charles會自動進入攔截窗口(如下圖)
20210702181117.jpg
20210702181331.jpg
點擊完Execute按鈕荒典,編輯后的請求就會發(fā)出,然后客戶端就會收到一個修改后的請求response.