Charles常用功能使用介紹

Charles常用的功能總結
1.過濾網絡請求
2.截取 iPhone 上的網絡封包
3.截取 Https 通訊信息
4.模擬慢速網絡
5.修改網絡請求內容
6.給服務器做壓力測試
7.修改服務器返回內容
8.Map 重定向功能
9.Rewrite 功能
10.Breakpoints 功能
11.設置ssl允許訪問地址
12.查看連接本機charle代理的ip
13.設置請求的黑名單
14.緩存請求返回的內容


對於某一個具體的網絡請求,你可以查看其詳細的請求內容和響應內容。如果請求內容是 POST 的表單,Charles 會自動幫你將表單進行分項顯示。如果響應內容是 JSON 格式的,那麼 Charles 可以自動幫你將 JSON 內容格式化,方便你查看。如果響應內容是圖片,那麼 Charles 可以顯示出圖片的預覽。


1.過濾網絡請求
通常情況下,我們需要對網絡請求進行過濾,只監控向指定目錄服務器上發送的請求。對於這種需求,以下幾種辦法:
方法一:在主界面的中部的 Filter 欄中填入需要過濾出來的關鍵字。例如我們的服務器的地址是:http://blog.csdn.net, 那麼只需要在 Filter 欄中填入 csdn 即可。


方法二:在 Charles 的菜單欄選擇 “Proxy”->”Recording Settings”,然後選擇 Include 欄,選擇添加一個項目,然後填入需要監控的協議,主機地址,端口號。這樣就可以只截取目標網站的封包了。如下圖所示:


方法三:在想過濾的網絡請求上右擊,選擇 “Focus”,之後在 Filter 一欄勾選上 Focussed 一項,如下圖所示:

2.截取 iPhone 上的網絡封包

3.截取 Https 通訊信息

4.模擬慢速網絡
在做移動開發的時候,我們常常需要模擬慢速網絡或者高延遲的網絡,以測試在移動網絡下,應用的表現是否正常。Charles 對此需求提供了很好的支持。
在 Charles 的菜單上,選擇 “Proxy”->”Throttle Setting” 項,在之後彈出的對話框中,我們可以勾選上 “Enable Throttling”,並且可以設置 Throttle Preset 的類型。如下圖所示:


5.修改網絡請求地址
dns欺騙,說簡單點就是把域名解析到一個假的ip,
可以不必一定要用locahost,127.0.0.1,裝個B把百度對應到京東來調試~
選擇Tools->DNS Spoofing,設置如下圖:


6.給服務器做壓力測試


7.修改服務器返回內容
有些時候我們想讓服務器返回一些指定的內容,方便我們調試一些特殊情況。例如列表頁面爲空的情況,數據異常的情況,部分耗時的網絡請求超時的情況等。如果沒有 Charles,要服務器配合構造相應的數據顯得會比較麻煩。這個時候,使用 Charles 相關的功能就可以滿足我們的需求。
根據具體的需求,Charles 提供了 Map 功能、 Rewrite 功能以及 Breakpoints 功能,都可以達到修改服務器返回內容的目的。這三者在功能上的差異是:
△Map 功能適合長期地將某一些請求重定向到另一個網絡地址或本地文件。
△Rewrite 功能適合對網絡請求進行一些正則替換。
△Breakpoints 功能適合做一些臨時性的修改。

8.Map 重定向功能
Charles 的 Map 功能分 Map Remote 和 Map Local 兩種,顧名思義,Map Remote 是將指定的網絡請求重定向到另一個網址請求地址,Map Local 是將指定的網絡請求重定向到本地文件。
在 Charles 的菜單中,選擇 “Tools”->”Map Remote” 或 “Map Local” 即可進入到相應功能的設置頁面。


△對於 Map Local 功能,我們需要填寫的重定向的源地址和本地的目標文件。對於有一些複雜的網絡請求結果,我們可以先使用 Charles 提供的 “Save Response…” 功能,將請求結果保存到本地(如下圖所示),然後稍加修改,成爲我們的目標映射文件。



9.Rewrite 功能
△Rewrite 功能功能適合對某一類網絡請求進行一些正則替換,以達到修改結果的目的
例如,我們的客戶端有一個 API 請求是獲得用戶餘額,而我當前的餘額是 “17.06”,如下所示:


重寫設置:


再次請求,餘額變成了2222,重寫成功。


10.Breakpoints 功能
上面提供的 Rewrite 功能最適合做批量和長期的替換,但是很多時候,我們只是想臨時修改一次網絡請求結果,這個時候,使用 Rewrite 功能雖然也可以達到目的,但是過於麻煩,對於臨時性的修改,我們最好使用 Breakpoints 功能。
Breakpoints 功能類似我們在 Xcode 中設置的斷點一樣,當指定的網絡請求發生時,Charles 會截獲該請求,這個時候,我們可以在 Charles 中臨時修改網絡請求的返回內容。
下圖是我們臨時修改獲取用戶信息的 API,將用戶的暱稱進行了更改,修改完成後點擊 “Execute” 則可以讓網絡請求繼續進行。


按照上邊設置好以後,再次訪問接口將會有斷點提示,進入編輯返回的內容即可(我在運用時很奇怪,設置成功後,得退出一次charles程序,再啓動纔會有斷點界面)




11.設置ssl允許訪問地址


12.看連接本機charle代理的ip
有非法的remove掉即可


13.設置請求的黑名單
不想某些請求發起,直接返回404,可以用黑名單
選擇Tools->Black List,設置如下圖:




14.緩存請求返回的內容
這個我用來幹過做緩存數據用,讓app在沒有server的時候也能跑,
選擇Tools->Mirror,設置如下圖:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章