目錄
Charles 主要的功能
截取 Http 和 Https 網絡封包。
支持重發網絡請求,方便後端調試。
支持修改網絡請求參數。
支持網絡請求的截獲並動態修改。
支持模擬慢速網絡。
Charles操作步驟
(1)下載Charles
先安裝配置好Java環境,官網下載安裝Charles:https://www.charlesproxy.com/download/
(2)Charles代理設置
接下來打開Charles的代理設置:Proxy->Proxy Settings,設置一下端口號,默認的是8888,這個只要不和其他程序的衝突即可,並且勾選Enable transparent HTTP proxying。
(3)在手機設備、模擬器或者遠程瀏覽器上設置代理,抓取手機設備上的請求包(手機和電腦必須在同一個局域網內,並關閉電腦防火牆、其他代理或者翻牆軟件)
第一步:在手機wifi 上設置代理 -> 長按無線網絡-->修改網絡-->高級選項-->代理 手動-->手動輸入輸入IP、端口號
服務器IP:PC機器的IP
端口號:8888
(4) 安裝證書
第三步:抓取https數據需要在手機上安裝證書,HTTPS的抓包需要在HTTP抓包基礎上再進行設置
如果我們需要在iOS或Android機器上截取 Https 協議的通訊內容,還需要在手機上安裝相應的證書。
以下爲在HTTP抓包基礎上進行HTTP抓包的進一步設置步驟:
Help -> SSL proxying -> Install charles root certificate on a Mobile Device or remote browser…
出現彈窗得到地址chls.pro/ssl
在手機自帶的系統瀏覽器輸入地址chls.pro/ssl,出現證書安裝頁面,點擊安裝,手機設置有密碼的輸入密碼進行安裝。安裝完證書後,就可以截取手機上的 Https 通訊內容了。不過同樣需要注意,默認情況下 Charles 並不做截取,你還需要在要截取的網絡請求上右擊,選擇 SSL proxy 菜單項。
注意2:iOS 10.3系統,需要在設置→通用→關於本機→證書信任設置裏面啓用完全信任Charles證書
Chales映射
Chales映射可以實現請求網址的轉換
上面是源地址,下面是要映射到的目的地址:
Charles抓包工具斷點修改返回內容mock數據測試
在測試過程中,往往需要讓服務器返回指定的內容,測試一些特殊情況。
例如列表內容爲空、數據異常的情況等。如果通過操作服務器配合構造相應的數據會比較麻煩,甚至不好構造數據。
此時,可以使用Charles的斷點功能來達到我們的目標。
1、在structure窗口,在要打斷點的數據右鍵選擇“Breakpoints”
2、在對目標服務器進行訪問,此時會跳轉到Breakpoints TAB頁面,如下圖:
3、觀察上面爲修改請求,如果修改結果,點擊"Execute",得到如下界面
可以在Edit Response中可以對服務器返回內容進行修改:
4、點擊”Execute”進行提交即mock了內容。
注意:在mock結果的時候要注意時間,提前將需要mock的結果準備好,直接複製,否則容易超時,請求就會失敗