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