Charles是一款非常好用的代理工具,關於Charles的安裝、破解、安裝證書,連接手機代理等使用方法詳見我之前的博客:https://www.cnblogs.com/feng0815/p/8043375.html ,本次只介紹Charles的幾種mock方法。
- Map功能適合長期的將某些請求重定向到另一個網絡地址或本地文件
- Map Local功能:將請求的返回重定向到本地文件中
- Map Remote功能:將請求的域名重定向到一個網絡地址
- Breakpoints功能適合做臨時性的修改,request和response都支持修改
- Rewrite功能適合對網絡請求進行一些正則替換
一、Breakpoints
該方法是通過打斷點的方式進行mock
對要打斷點的接口右鍵,然后選擇【BreakPoints】(點擊一次就行了,點擊多次會移除) ,如果是已經好了的,顯示是一個“✔️”的狀態。
該方法是通過攔截請求,修改請求數據,然后再把修改過的請求數據返回給客戶端,下面說下具體的操作步驟
1.找到你想要的鏈接右鍵勾選Breakpoints功能,工具欄的斷點圖標就會變紅;

2.設置斷點,“Proxy”->“Breakpoints”
3.彈出Breakpoints Settings 彈窗

4.雙擊Location中的想要打斷點的接口,彈出Edit Breakpoints,將Query中的內容刪除,輸入*;如果修改Request數據,就將Request勾選;如果修改Response數據,就將Response勾選;

5.此時重新訪問該接口,Charles自動跳轉到Breakpoints頁面,此時修改Response數據,點擊Edit Response,切換底部tab至Text,修改所需要的數據;


需要注意的是,該方法對時間要求比較高,需要快速的修改請求數據,否則很容易造成超時修改失敗。
二、Rewrite
1.添加rewrite

2.設置要替代的內容

3.再次刷新頁面

三、MapLocal
1.先抓取某個頁面的接口數據,修改並保存,如下圖這個頁面

修改接口數據:

2.在要mock的接口右鍵選擇MapLocal
或者從Tools工具欄進入

3.進入設置頁面,現在要替換的數據文件

5.再次刷新頁面

四、MapRemote
例:把百度搜索劉亦菲的結果替換成趙麗穎的搜索結果

mapfrom:https://www.baidu.com/s?wd=劉亦菲
mapto:https://www.baidu.com/s?wd=趙麗穎


五、弱網測試




