利用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文件來模擬介面請求。

操作方式:

  1. 選中介面,右鍵選擇 Save Response,然後保存為到本地文件(例如json文件)
  2. 編輯文件,然後選中介面,右鍵選擇 Map Local
  3. 修改 map 的路徑為本地文件路徑
  4. 若想快速修改本地映射,可以在 Tools -> Map Local 中快速修改

注意:Query 參數只對 GET 請求有效,如 name=csxiaoyao&type=mock

3. Map Remote

Map Remote 能夠更換遠程介面地址,在實際開發中,可以將測試環境地址手動更改為生產環境地址。

操作方式:

  1. 選中介面,右鍵選擇 Map Remote,編輯想要替換的地址,保存即可
  2. 若想快速修改介面地址映射,可以在 Tools -> Map Remote 中快速修改

4. 修改網路請求

Charles 可以直接修改網路請求,可以方便介面調試。

操作方式:

  1. 選中介面,然後點擊鋼筆(Compose)按鈕
  2. 任意編輯請求頭、參數、Cookie等
  3. 選擇點擊執行(Execute)恢復更改(Revert)取消(Cancel)

5. 模擬網速

在開發調試過程中,經常需要測試介面在不同網速下的結果,Charles 可以方便地模擬網速。

操作方式:

  1. Proxy -> Throttle Settings 進入Throttle設置
  2. 選擇網路環境
  3. 可以點擊面板上的小烏龜(Start Throttling)按鈕切換開關Throttle

配置含義: Bandwidth(頻寬)、Utilistation(利用百分比)、Round-trip(往返延遲)、MTU(位元組)

6. 斷點調試

Charles 可以對每次請求的 request 和 response 進行斷點調試。

操作方式:

  1. 選中介面,右鍵選擇Breakpoints打斷點開啟斷點調試
  2. 當請求調試的介面時,Charles 會先跳轉到編輯請求,修改完後點擊執行後,會跳轉到編輯響應,修改完後點擊執行,完成調試

7. 模擬連續請求

操作方式:

  1. 選中介面,右鍵選擇Repeat Advanced
  2. 編輯請求次數和延遲等
  3. 點擊確定自動執行

8. 檢索

操作方式:

  1. 選中介面,右鍵選擇Find in
  2. 支援 Request URLRequest HeaderRequest BodyResponse HeaderResponse Body 里搜索字元串,支援正則表達式