Charles使用手册
生活随笔
收集整理的這篇文章主要介紹了
Charles使用手册
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Charles使用手冊
- Charles使用背景
- Charles安裝下載
- Charles主要功能
- Charles實用功能及配置
- 將Charles設置為系統代理
- 截取移動設備上的網絡請求
- 查看本地IP地址
- 配置手機代理
- 過濾網絡請求
- 兩種封包視圖
- 模擬慢速網絡
- 給服務器做壓力測試
- 修改服務器返回數據
- 修改網絡請求內容
- mock數據
Charles使用背景
- 開發網頁我們可以直接debug模式查看請求接口請求request和返回數據responses,但是在開發移動端的時候沒有網頁,我們就可以使用Charles來抓取請求接口;
- 在測試過程中容易遇到服務端和客戶端都說自己是寫的代碼是沒有問題的,這個時候就可以通過抓取工具查看客戶端請求數據以及服務端返回的數據進行分析問題;
Charles安裝下載
百度有很多教程,移步去搜搜??
如果出現下載之后打開每30分彈窗提示關閉一次,這是因為下載的Charles沒有破解,破解辦法有兩種:
1、可以百度找密鑰,填寫密鑰激活進行破解;
2、下載破解包,然后找到Charles的安裝目錄,打開lib文件夾,替換charles.jar文件
Charles主要功能
- 支SSL代理,可以截取分析SSL的請求
- 支持流量控制。可以模擬慢速網絡以及等待時間較長的請求
- 支持AJAX調試。可以自動將json或xml數據格式化,方便查看。
- 支持AMF調試。可以將Flash Remoting或Flex Remoting信息格式化,方便查看
- 支持重發網絡請求,方便后端調試
- 支持修改網絡請求參數
- 支持網絡請求的截獲并動態修改
Charles實用功能及配置
將Charles設置為系統代理
- 配置
選中Proxy-》macOS Proxy - 操作
勾選代理之后,可以將系統本地發出的請求都能被截取下來;
截取移動設備上的網絡請求
查看本地IP地址
mac:Help -》 Local IP Address -》 ent0
windowns:打開cmd窗口輸入ipconfig命令進行查看;
配置手機代理
- 作用
這個手機客戶端的所有http請求都會被Charles代理,方便查看客戶端http請求 - 配置
1)打開手機wifi連接,連接,修改網絡代理模式為手動,輸入服務器和端口號代理存儲,服務器ip為上面查看的本地IP地址,端口號查看Proxy -》Proxy Setting -》 HTTP Proxy 中的Port;
2)打開手機瀏覽器,輸入chls.pro/ssl下載Charles證書;
3)打開要調試的app,請求發送到Charles,驗證是否允許彈窗,點擊Allow;
a. 點擊Allow之后,在Proxy -》Access Control Setting里查看可以訪問此代理服務器的列表;
b. 如過不小心點擊了拒絕,解決辦法:手動添加手機IP/MAC地址到允許訪問列表;重啟Charles,手機再次訪問時會彈窗驗證是否允許
4)如果不想每換一個手機都進行驗證,可以配置允許所有手機訪問,加入0.0.0.0/0(IPV4)或::/0(IPV6)
5)請求接口可以查看接口請求數據和返回數據
6)修改數據:右鍵接口,點擊Compose,可以修改請求參數和URL
過濾網絡請求
使用Charles代理之后會抓取到你的所有請求,太多看起來不太容易,這時我們可以把我們需要關注的請求過濾出來,過濾網絡請求有三種方法:
1)在封包視圖的Filter欄輸入需要過濾出來的關鍵字;
2)在想要過濾的網絡請求上右鍵,選擇「Focus」之后,在「Filter」一欄勾選Focussed一項;
3)在Charles菜單欄中「Proxy -> Recording Setting」 選擇「Include」,選擇添加一個項目,填入需要監控的協議,主機地址以及端口號,這樣就可以直接截取目標網站的封包。
以上是過濾網絡請求的三種方式,其中1,2是臨時過濾,3是固定過濾
兩種封包視圖
- Structure:是將網絡請求按照訪問的域名進行分類;
- Sequence:是將網絡請求按照訪問時間進行排序;
模擬慢速網絡
- 使用場景
在做移動端開發時,我們常常需要模擬慢速網絡或者高延遲網絡,以測試在移動網絡下應用表現是否正常。 - 配置
Proxy -> Throttle Setting -> Enable Throttling,在Throttle preset欄設置對應的網速,即可模擬慢速網絡;
模擬指定網絡的慢速網絡,可以再勾選上圖中的“Only for selected hosts”,添加指定的host;
給服務器做壓力測試
Charles的repeat功能可以簡單的測試服務起的并發處理能力;
- 步驟
選擇想要打壓的網絡請求,右鍵,點擊repeat - advanced菜單欄進行選擇打壓的并發線程數和打壓次數進行打壓,concurrency是并發打壓,iterations是迭代次數。
修改服務器返回數據
- 使用背景
有時候我們想讓服務器返回指定的內容,方便調試某些異常case。例如:頁面為空,數據異常等情況;
Charles的map,rewrite,breakpoints功能均可實現;
修改網絡請求內容
- 使用背景
為了調試服務器接口,需要反復嘗試不同參數的網絡請求。Charles 可以方便地提供網絡請求的修改和重發功能 - 步驟
選擇要修改的網絡請求,點擊主頁面“筆”狀的按鈕;
可修改內容包括: URL 地址、端口、參數等,之后點擊 “Execute” 即可發送該修改后的網絡請求;
Charles 支持多次修改和發送該請求,這對于服務器端調試接口非常方便;
mock數據
我們可以通過map local將本地的接口文件進行mock,在測試中請求該接口時,將請求mock的接口數據;
總結
以上是生活随笔為你收集整理的Charles使用手册的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RTP载荷H264视频流
- 下一篇: [html] 写一个类似刮刮卡效果的交互