利用Charles開發調試技巧總結
- 2019 年 10 月 4 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/CSXIAOYAOJIANXIAN/article/details/100552991
利用Charles開發調試技巧總結
文章目錄
Write By CS逍遙劍仙 我的主頁: www.csxiaoyao.com GitHub: github.com/csxiaoyaojianxian Email: [email protected] QQ: 1724338257
使用macOS開發,青花瓷Charles是必不可少的,如同Windows的Fiddler一般,熟悉下面的幾點Charles技巧將會令調試事半功倍。
1. 基本配置
1.1 下載安裝
Charles的安裝非常簡單,至於破解也很容易搜索到,此處不再說明。
1.2 配置代理
安裝後,如何講請求代理到charles呢?首先檢查軟體菜單 proxy -> macOS Proxy 是否已經選中(默認勾選)
接著可以結合chrome插件switchyOmega
和全局代理軟體Proxifier
將請求代理到charles的默認埠8888 127.0.0.1:8888
1.3 安裝證書
此時已經可以開始抓包了,如果碰到https鏈接的地址,會發現都顯示<unknown>
,因為https是加密的,Charles需要配置證書才可以抓包。
1.3.1 PC
點擊 Help -> SSL Proxying -> Install Charles Root Certificate,搜索 Charles Proxy CA
並選擇始終信任即可。
1.3.2 Mobile
點擊 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser,將手機wifi網路配置代理到當前PC的IP地址的8888(默認)埠。
然後根據彈窗提示在手機瀏覽器輸入 chls.pro/ssl
下載證書(pem->crt)並安裝
1.3.3 添加SSL配置
設置Charles的SSL Proxying Settings,添加所有的域名 *:*
。
2. Map Local
Map Local
能夠將指定的網路請求重定向到本地文件,在實際開發中,可以用來在介面未開發的情況下,本地創建json文件來模擬介面請求。
操作方式:
- 選中介面,右鍵選擇
Save Response
,然後保存為到本地文件(例如json文件) - 編輯文件,然後選中介面,右鍵選擇
Map Local
- 修改
map
的路徑為本地文件路徑 - 若想快速修改本地映射,可以在 Tools -> Map Local 中快速修改
注意:
Query
參數只對GET
請求有效,如name=csxiaoyao&type=mock
3. Map Remote
Map Remote
能夠更換遠程介面地址,在實際開發中,可以將測試環境地址手動更改為生產環境地址。
操作方式:
- 選中介面,右鍵選擇
Map Remote
,編輯想要替換的地址,保存即可 - 若想快速修改介面地址映射,可以在 Tools -> Map Remote 中快速修改
4. 修改網路請求
Charles 可以直接修改網路請求,可以方便介面調試。
操作方式:
- 選中介面,然後點擊鋼筆(Compose)按鈕
- 任意編輯請求頭、參數、Cookie等
- 選擇點擊
執行(Execute)
、恢復更改(Revert)
和取消(Cancel)
5. 模擬網速
在開發調試過程中,經常需要測試介面在不同網速下的結果,Charles 可以方便地模擬網速。
操作方式:
- Proxy -> Throttle Settings 進入
Throttle
設置 - 選擇網路環境
- 可以點擊面板上的小烏龜(Start Throttling)按鈕切換開關
Throttle
配置含義: Bandwidth(頻寬)、Utilistation(利用百分比)、Round-trip(往返延遲)、MTU(位元組)
6. 斷點調試
Charles 可以對每次請求的 request 和 response 進行斷點調試。
操作方式:
- 選中介面,右鍵選擇
Breakpoints
打斷點開啟斷點調試 - 當請求調試的介面時,Charles 會先跳轉到
編輯請求
,修改完後點擊執行後,會跳轉到編輯響應
,修改完後點擊執行,完成調試
7. 模擬連續請求
操作方式:
- 選中介面,右鍵選擇
Repeat Advanced
- 編輯請求次數和延遲等
- 點擊確定自動執行
8. 檢索
操作方式:
- 選中介面,右鍵選擇
Find in
- 支援
Request URL
、Request Header
、Request Body
、Response Header
和Response Body
里搜索字元串,支援正則表達式