掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
Charles 是一款支持 HTTP 代理和抓包的網(wǎng)絡代理軟件。瀏覽器或APP通過 Charles 訪問網(wǎng)絡時,它可以記錄并顯示所有發(fā)送、接收的數(shù)據(jù)。

Charles依賴Java運行環(huán)境,本機需要先配置好jdk(具體安裝配置略)
??訪問Charles官網(wǎng)??
點擊右側下載按鈕,就能下載最新版Charles,在Windows下雙擊安裝即可。目前最新的版本是4.6.2。
默認情況下,啟動Charles后,就能自動抓Chrome瀏覽器、Firefox瀏覽器的包,如果不能抓,請檢查Charles中是否勾選了代理開關“Windows Proxy/Mac Proxy”
Charles主要提供兩種查看封包的視圖,分別名為 “Structure” 和 “Sequence”
默認情況下Charles會抓取所有的數(shù)據(jù)包,并展示在請求列表中。但是大多數(shù)情況下,我們只關系某個ip或某個域名下的包Charles提供了過濾器,幫助我們顯示/排除指定的HTTP請求。
Charles有兩種方式可以實現(xiàn)請求過濾:
方法一:
請求列表下方的Filter可以實現(xiàn)簡單的過濾功能,輸入關鍵字即可篩選出對應URL
方法二:
菜單欄“Proxy-Recording Settings”里,設置include(包含)和exclude(排除),可以僅顯示或者不顯示指定的url
和Fiddler一樣,Charles也提供了弱網(wǎng)模擬的功能,測試瀏覽器/APP在弱網(wǎng)條件的使用情況。
菜單欄里“Proxy”–>“Throttle Setting”里,Charles內置了不同的網(wǎng)絡模式:56kbps、256kbps ... 3G、4G等,來模擬不同弱網(wǎng)效果。還可以手動修改Download和Upload的值,模擬不同的速度。
需要注意的是,這里的網(wǎng)絡速率值,單位是bps,對應到常用的byte/s,還需要除以8,如圖中的4096kbps,實際為512kb
如果想對某個請求進行攔截,修改請求的參數(shù)?;蛘咝薷哪硞€請求響應中的值,可以使用Charles的斷點功能。
在請求列表中,選擇某個URL,右鍵點擊“Breakpoints”,默認就給這個請求設置了請求+響應斷點。進行指定的操作時,Charles就會攔截對應的請求,并支持數(shù)據(jù)修改
修改服務端返回的響應內容,比如將success修改為fail
如果想做一些更詳細的的斷點配置設置Breakpoint Settings
和Fiddler一樣,Charles也可以抓APP端的包,需要進行以下設置,ProxySetting中設置允許遠程HTTP代理
電腦和手機連接同一WiFi,在手機端設置WiFi代理,指向Charles所在的ip和8888端口
最后,Charles還有很多高級功能,大家可以去官網(wǎng)查看文檔進行學習。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流