Charles使用详解
一、主界面介紹?
?
?
?
二、網(wǎng)頁(yè)抓包
啟動(dòng) Charles 后,需要將 Charles 設(shè)置成系統(tǒng)代理,選擇菜單中的 “Proxy” –> “macOS Proxy” 來(lái)將 Charles 設(shè)置成系統(tǒng)代理。如下所示:
?
這樣你會(huì)發(fā)現(xiàn),你通過(guò)瀏覽器請(qǐng)求的網(wǎng)址都會(huì)出現(xiàn)在這里。點(diǎn)擊某一個(gè)網(wǎng)址后,你會(huì)發(fā)現(xiàn)右邊會(huì)出現(xiàn)這個(gè)網(wǎng)址請(qǐng)求的大概信息,點(diǎn)擊具體的請(qǐng)求后會(huì)出現(xiàn)request和response等信息。如下圖:
如果是https請(qǐng)求出現(xiàn)的是亂碼,這時(shí)候你就需要安裝Charles的CA證書了,首先到去?http://www.charlesproxy.com/ssl.zip?下載CA證書文件。雙擊crt文件,選擇總是信任就可以了。
三、手機(jī)抓包
Charles 上的設(shè)置:
要截取 iPhone 上的網(wǎng)絡(luò)請(qǐng)求,我們首先需要將 Charles 的代理功能打開。在 Charles 的菜單欄上選擇 “Proxy”–>“Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的設(shè)置。如下圖所示:
?
?
iPhone 上的設(shè)置:
首先我們需要獲取 Charles 運(yùn)行所在電腦的 IP 地址,Charles 的頂部菜單的 “Help”–>“Local IP Address”,即可在彈出的對(duì)話框中看到 IP 地址,如下圖所示:
?
在 iPhone 的 “ 設(shè)置 ”–>“ 無(wú)線局域網(wǎng) ” 中,可以看到當(dāng)前連接的 wifi 名,通過(guò)點(diǎn)擊右邊的詳情鍵,可以看到當(dāng)前連接上的 wifi 的詳細(xì)信息,包括 IP 地址,子網(wǎng)掩碼等信息。在其最底部有「HTTP 代理」一項(xiàng),我們將其切換成手動(dòng),然后填上 Charles 運(yùn)行所在的電腦的 IP,以及端口號(hào) 8888,如下圖所示:
設(shè)置好之后,我們打開 iPhone 上的任意需要網(wǎng)絡(luò)通訊的程序,就可以看到 Charles 彈出 iPhone 請(qǐng)求連接的確認(rèn)菜單,點(diǎn)擊 “Allow” 即可。
當(dāng)然如果要抓取iPhone設(shè)備上的HTTPS請(qǐng)求,需要在iPhone上也安裝一個(gè)證書,在手機(jī)瀏覽器輸入這個(gè)網(wǎng)址:http://charlesproxy.com/getssl?,點(diǎn)擊安裝即可。
四、過(guò)濾
在 Charles 的菜單欄選擇 Proxy->Recording Settings,然后選擇 Include 欄,選擇Add,然后填入需要監(jiān)控的協(xié)議,主機(jī)地址,端口號(hào),這樣就達(dá)到了過(guò)濾的目的。如下圖:
?
還有一種方法就是在一個(gè)網(wǎng)址上右擊,選擇Focus,然后其他的請(qǐng)求就會(huì)被放到Other Hosts的文件夾里面,這樣也達(dá)到了過(guò)濾的目的。
?
五、模擬慢速網(wǎng)絡(luò)
有時(shí)候在測(cè)試的時(shí)候我們想要模擬一下網(wǎng)絡(luò)慢的情況,這時(shí)候Charles他是可以幫助到你的,在Proxy->Throttle Setting,然后選擇Enable Throttling,在Throttle Preset下選擇網(wǎng)絡(luò)類型即可,具體設(shè)置你可以自行拿捏。
如果我們只想模擬指定網(wǎng)站的慢速網(wǎng)絡(luò),可以再勾選上圖中的 “Only for selected hosts” 項(xiàng),然后在對(duì)話框的下半部分設(shè)置中增加指定的 hosts 項(xiàng)即可。
六、修改網(wǎng)絡(luò)請(qǐng)求
有些時(shí)候?yàn)榱苏{(diào)試服務(wù)器的接口,我們需要反復(fù)嘗試不同參數(shù)的網(wǎng)絡(luò)請(qǐng)求。Charles 可以方便地提供網(wǎng)絡(luò)請(qǐng)求的修改和重發(fā)功能。只需要選中以往的網(wǎng)絡(luò)請(qǐng)求,工具欄中點(diǎn)擊 “Edit”,即可創(chuàng)建一個(gè)可編輯的網(wǎng)絡(luò)請(qǐng)求。如下所示:
七、給服務(wù)器做壓力測(cè)試
我們可以使用 Charles 的 Repeat 功能來(lái)簡(jiǎn)單地測(cè)試服務(wù)器的并發(fā)處理能力,方法如下:
我們?cè)谙氪驂旱木W(wǎng)絡(luò)請(qǐng)求上(POST 或 GET 請(qǐng)求均可)右擊,然后選擇 「Repeat Advanced」菜單項(xiàng),如下所示:
接著我們就可以在彈出的對(duì)話框中,選擇打壓的并發(fā)線程數(shù)以及打壓次數(shù),確定之后,即可開始打壓。
八、斷點(diǎn)
在Charles發(fā)起一個(gè)請(qǐng)求的時(shí)候,我們是可以給某個(gè)請(qǐng)求打一個(gè)斷點(diǎn)的,然后來(lái)觀察或者修改請(qǐng)求或者返回的內(nèi)容,但是在這過(guò)程中要注意請(qǐng)求的超時(shí)時(shí)間。
要針對(duì)某一個(gè)請(qǐng)求設(shè)置斷點(diǎn),只需要在這個(gè)請(qǐng)求網(wǎng)址右擊選擇Breakpoints,然后點(diǎn)擊斷點(diǎn)按鈕,就可以斷點(diǎn)某一個(gè)請(qǐng)求了。
總結(jié)
以上是生活随笔為你收集整理的Charles使用详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: D1格式是720*576还是704*57
- 下一篇: [css] 有用过Flex吗?简要说下