下載點:Download
Charles 是在電腦上常用的網路封包截取工具,在做手機APP開發時,我們為了測試與伺服器端的網路通訊,常常需要截取網絡封包來分析。除了在做手機APP開發中測試端口外,Charles也可以用於分析第三方應用的通訊協議。配合Charles 的SSL 功能,Charles 還可以分析Https 協議。
Charles 通過將自己設置成系統的網絡訪問代理服務器,使得所有的網絡訪問請求都通過它來完成,從而實現了網路封包的截取和分析。
Charles 是收費軟件,可以免費試用30 天。試用期過後,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過30 分鐘,並且啟動時將會有10 秒种的延時。因此,該付費方案對廣大用戶還是相當友好的,即使你長期不付費,也能使用完整的軟件功能。只是當你需要長時間進行封包調試時,會因為Charles 強制關閉而遇到影響。
Charles 主要的功能包括:
ifconfig
(MAC電腦)取得電腦的內網IP,如下圖可得知內網IP為192.168.1.104
有時我們在本地開發網頁功能時,若以API的方式去讀取資料,當我們在測試時可能會希望回傳某個固定的response。這時候就可以用Map Local
的功能。
使用步驟
1、Save Response
選擇要模擬數據的接口,然後右鍵,選擇“Save Response”
2、修改Response
保存到本地的Response信息可以任意修改,如下:
3、設置Map Local
內容準備完成之後,可以設置當我們打API時會回應的內容是我們剛剛設定的本機的文件,選擇要模擬數據的網址右鍵,在彈出的菜單中選擇“Map Local”,設置如下:
4、Map Local的禁用和啟用
Map Local一般用於測試,測試完成後,需要禁用Map Local
功能。charles中菜單欄選擇“tools->Map Local,可以選擇啟用或是禁用此功能。
有時候我們若是需要去修改回傳response的檔頭或者內容時,可以使用charles的rewrite功能
設定方式如下:
添加一個Rewrite規則,以將JSON回應內容更改為{"foo":"bar"}
從這邊可以看出回應有沒有真正被套用到設定的修改