charles常用操作總結
一、主機對映
主要用於mirror迴歸,或者將一個不可用的環境對映到一個可用的環境
1、在主機名上右鍵,選擇map remote
2、在彈出的彈窗中,填寫要對映到的地址
二、設定斷點
在請求位置右鍵,選擇Breakpoints
然後選擇Proxy的Breakpoint Settings選項,點選進入設定
點進去可以看到我們新增到Breakpoint 的所有請求,雙擊我們要改的那個請求,如果想斷請求,勾選Request,想斷響應,勾選Response
設定後點擊OK,關閉上面的彈窗,下面的彈窗中我們勾選想斷的請求,點選OK
下次請求就可以斷請求或者響應了
改寫後點擊 Execute執行 ,注意改的時候,客戶端一般有超時限制(過了超時時間就不會等服務端的返回資料了),所以一般只適用改動較小的測試或者異常測試
三、自動響應
在請求位置右鍵,點選save response ,把請求的返回結果儲存下來,內容可以根據自己的需要改
然後在同一個請求位置選擇map local
然後把請求的引數刪除掉,不然可能每次請求這個介面傳參不一樣(時間戳引數等),不會走自動響應
下次再訪問相同的請求,對於客戶端,返回的資料就是我們改好的資料啦
四、模擬弱網
選擇 Proxy-》Throttle Settings
然後將 Enable Throttling 勾選上,設定上傳瞎子啊速度 ,我一般都設定為2,幾乎為無網狀態(可根據需要自行設定)
五、抓https請求
1、電腦上安裝ssl證書
信任證書!!!
2、手機上安裝證書
連上代理後,瀏覽器中輸入下列網址訪問
手機安裝證書
3、如果還抓不到https請求,按下面兩圖操作
六、Rewrite 構造資料
Rewrite功能和自動響應map local 類似 ,不同的是map local 能對映的請求hosts都是固定的,如果想對映不同hosts就要構造多個對映,
比如 192.168.1.2:8888/a/b/test 與192.168.1.3:8888/a/b/test 兩個請求就要分別對映
而Rewrite就可以解決這個問題 ,可以把所有的請求url為/a/b/test的請求都構造成同一個資料。
方法:
1、入口:Tools-》Rewrite
2、勾選 Enable Rewrite,點選Add
3、Name根據自己情況隨便寫,Add後Path路徑填寫我們請求的url,點選OK
然後Add返回值,選擇response,Type選擇body,直接把要構造成的json串寫到Value中,Ok
下次請求,就會發現192.168.1.2:8888/a/b/test 與192.168.1.3:8888/a/b/test 兩個請求都返回了我們自己的json資料。
rewrite還可以批量修改我們的請求引數,比如把所有的上傳的did引數都由ANDROID_4af16d720602b56改為ANDROID_123456123456,我們可以按照下圖構造:
其中上面部分具體內容為:
下半部分具體內容為:
這樣下次請求,我們的did引數就變為我們想要的ANDROID_123456123456了。這種方法對 有要求手機等為新裝置才執行某策略的功能點很適用。