1. 程式人生 > >charles常用操作總結

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了。這種方法對  有要求手機等為新裝置才執行某策略的功能點很適用。