工作的時候經(jīng)常用Charles抓包计维,也學到了很多用Charles的很多小技巧扫责,記錄一下,說不定在某個時候就能提高自己的工作效率碰镜,讓自己有多點時間摸魚(bushi(其實是真的))
- Structure/Sequence
-
Structure(結構)tab里的接口請求按照url維度放在不同的collection中
-
Sequence(順序)tab里的接口請求按照請求時間分別展示
-
-
Focus
右鍵點擊選中的url兢卵,點擊Focus,會只展示當前url中的所有接口绪颖,其余接口url都會放在Other里
-
Ignore
右鍵Ignore要慎用秽荤,點擊后Charles不會對這個域名的請求抓包,如果要取消Ignore需要去Proxy-Recording Settings-Exclude里去取消勾選柠横,然后重啟Charles才能重新抓到這個url下的請求
-
Map Local
這個功能可以mock后端返回的接口數(shù)據(jù)窃款,對想要mock的請求右鍵,點擊Map Local牍氛,會出現(xiàn)下面這個彈窗晨继,后續(xù)發(fā)出的請求數(shù)據(jù)要和Map From里的一致,響應的內容會和Map To選擇的文件內容一致搬俊,如果不知道響應內容怎么寫紊扬,可以對當前右鍵接口然后Save Response到本地,小修小改之后就能用了修改后的效果就像下圖一樣
-
Map Remote
Map Remote用來修改請求指向的地址唉擂,開發(fā)用的可能比較多餐屎,經(jīng)常用于請求的時候指向本地/測試服務器,右鍵點擊需要修改的請求玩祟,點擊Map Remote腹缩,彈窗如下圖展示,在Map To的地方輸入需要指向的地址卵凑,后續(xù)的請求就會打到指定的服務器上
-
Breakpoints
Charles的斷點工具庆聘,可以調整接口請求的內容和響應的內容胜臊,右鍵點擊請求勺卢,再點擊Breakpoints,后續(xù)發(fā)出這個請求Charles就會卡在這里
切換到Edit Request的頁面中就可以修改這個請求發(fā)出的參數(shù)象对,修改完后點擊Execute就會發(fā)出請求到服務器黑忱,接口響應回來之后就會出現(xiàn)這個頁面
切換到Edit Response就可以修改接口返回的內容,再點擊Execute就會把響應的內容返回到客戶端勒魔,效果如下圖
需要注意的是甫煞,如果前端設置了請求超時時間,Breakpoints如果在之中斷點很長時間會導致前端超時 -
重發(fā)請求
選擇請求冠绢,點擊圖片中的這個位置
可以修改請求的方法抚吠,url和參數(shù)
點擊Execute之后就會發(fā)出新請求 -
節(jié)流設置
Charles的另一個功能就是可以限制請求的速度,來模擬弱網(wǎng)情況下的請求狀態(tài)
點擊菜單欄Proxy-Throttle Settings弟胀,勾選Enable Throttling楷力,保存之后就會對所有請求限制請求速度喊式。如果再勾選Only for selected hosts選項,會讓弱網(wǎng)只對其中的url生效
最后有一個小問題萧朝,在用Charles的時候在Proxy-Proxy Settings-macOS里勾選了Enable macOS proxy岔留,在用的時候還可以抓到電腦的請求,但是關掉Charles之后再打開又抓不到電腦請求了检柬,這是咋回事