不知不覺,忙碌而又充實的三月就快要過去了,同時終于結(jié)束了長達半年之久的項目巢株。
默默的吐槽一下,這個項目最崩潰的地方不是改bug熙涤,而是找bug啊阁苞,不過還好有charles和capture,
哈哈祠挫,下面就來介紹和總結(jié)charles的使用吧猬错。
Charles 主要的功能:
1、截取 Http 和 Https 網(wǎng)絡(luò)封包茸歧。
2倦炒、支持重發(fā)網(wǎng)絡(luò)請求,方便后端調(diào)試软瞎。
3逢唤、支持修改網(wǎng)絡(luò)請求參數(shù)拉讯。
4、支持網(wǎng)絡(luò)請求的截獲并動態(tài)修改鳖藕。
5魔慷、支持模擬慢速網(wǎng)絡(luò)。
安裝Charles
[http://www.charlesproxy.com](http://www.charlesproxy.com/)官網(wǎng)下載著恩,然后按照提示安裝即可院尔。
非官方版本每次啟動要等待30s,每隔30min也會自動退出喉誊,不過~
先看一下Charles的頁面吧邀摆!
charles主頁面.png
Charles的使用
將 Charles 設(shè)置成系統(tǒng)代理
打開Charles,選擇菜單中的Proxy--->WindowsProxy設(shè)置即可,如圖所示
Paste_Image.png
這樣伍茄,你操作的網(wǎng)絡(luò)請求都可以在這邊看到啦栋盹。
不過,像下面這樣敷矫,每一個網(wǎng)絡(luò)請求都會顯示例获,實在是太多了,所以可以使用Focus過濾網(wǎng)絡(luò)請求曹仗。
Paste_Image.png
過濾網(wǎng)絡(luò)請求
選擇你關(guān)心的網(wǎng)絡(luò)請求榨汤,右擊選擇Focus
Paste_Image.png
然后,頁面就變成這樣了怎茫,是不是看起來舒服了很多
Paste_Image.png
抓取手機上的數(shù)據(jù)
因為我是做app的件余,所以大部分使用Charles都是為了抓取手機上的數(shù)據(jù),下面就說一下如何在手機上使用遭居,很簡單。
一旬渠、在 Charles 的菜單欄上選擇 “Proxy”->”Proxy Settings”俱萍,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying”
就完成了在 Charles 上的設(shè)置告丢, 如下圖所示
Paste_Image.png
二枪蘑、給手機設(shè)置代理,打開手機設(shè)置-->WLAN
Paste_Image.png
之后岖免,手機上的網(wǎng)絡(luò)請求都可以看到了
Paste_Image.png
注意:手機 和 Charles 代理設(shè)備連接的是同一網(wǎng)絡(luò)
修改網(wǎng)絡(luò)請求
開發(fā)一個app時總會和后臺進行接口聯(lián)調(diào)岳颇,請求發(fā)生了錯誤,為了讓后臺方便定位錯誤原因颅湘,
這時候可以模擬不同情況和數(shù)據(jù)话侧,把不同請求和響應(yīng)結(jié)果發(fā)給后臺,讓他們進行分析闯参。
1瞻鹏、 選擇要修改的網(wǎng)絡(luò)請求的Url,右鍵單擊選擇Edit悲立,就可以對請求參數(shù)和body進行修改,如圖所示
Paste_Image.png
Paste_Image.png
修改完數(shù)據(jù)之后新博,點擊 Execute 即可將修改后的數(shù)據(jù)直接發(fā)送出去薪夕。如果想重置回原本的數(shù)據(jù),點擊 Revert 就恢復(fù)到最初的數(shù)據(jù)了赫悄。
模擬數(shù)據(jù)
有些時候后臺還沒開發(fā)完成原献,但是數(shù)據(jù)模型和接口已經(jīng)給出,這時候app需要數(shù)據(jù)進行測試埂淮,
就可以將請求重定向到一個網(wǎng)絡(luò)地址或者一個本地文件中姑隅。
本地數(shù)據(jù)Map Local
右鍵單擊Map Local,
Paste_Image.png
Paste_Image.png
Paste_Image.png
遠(yuǎn)程數(shù)據(jù)Map Remote
Paste_Image.png
打開此鏈接同诫,http://www.mocky.io/,把數(shù)據(jù)填充到Body里面粤策,可以修改Content Type格式,
默認(rèn)是json格式误窖。填寫完成后點擊Generate my HTTP Response叮盘,生成一個鏈接,復(fù)制此鏈接
Paste_Image.png
右鍵單擊Map Remote霹俺,把剛才復(fù)制的鏈接粘貼到Host中柔吼,點擊ok即可。
Paste_Image.png
取消所有的Map功能
如果想取消Map功能丙唧,選擇Tools-->Map Remote(Map Local)-->Enable Map Remote即可愈魏,下次再請求此接口,返回的就是真實的數(shù)據(jù)想际,而不是模擬數(shù)據(jù)了培漏。
模擬網(wǎng)速
App測試時一般都是用的公司的網(wǎng)絡(luò),速度還可以胡本,如果想模擬網(wǎng)絡(luò)環(huán)境非常差的情況下牌柄,
會出現(xiàn)什么情況, Charles 也提供了對應(yīng)的支持侧甫,來模擬低速網(wǎng)絡(luò)環(huán)境珊佣。
選擇菜單欄Proxy->Throttle Settings
Throttle Settings.png
Enable Throttling.png
抓取https網(wǎng)絡(luò)請求數(shù)據(jù)
有些時候,我們會遇到Https 請求披粟。一般情況下咒锻,Charles 是不能截取Https的網(wǎng)絡(luò)包的,涉及到 Https 的 證書問題守屉。但是安裝 Charles 的 CA 證書后惑艇,
就可以獲取到手機上的 Https 請求了。
1拇泛、點擊 Charles 的頂部菜單敦捧,選擇 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”须板,
然后輸入系統(tǒng)的帳號密碼,即可在 KeyChain 看到添加好的證書兢卵。如下圖所示:
2习瑰、打開手機瀏覽器,輸入 http://charesproxy.com/getssl去下載安裝 CA 證書秽荤。
3甜奄、在需要截取Https的請求上,選擇 Enable SSL Proxying窃款。
安裝CA證書.png
Enable SSL Proxying.png
到此就結(jié)束了课兄。
五月份就要來了,要出去壓青了晨继,我要控制我自己~~~~