charles 鏡像
鏡像工具會在你瀏覽指定網站時,把抓取到的文件克隆一份,並保存在你指定的路徑下;
注意:如果你配置是www.aaa.com; 那么只會抓這個域名下的文件,這個域名如果引用了123.abc.com的外部資源(如前端CSS,JS等),引用的外部資源並不會被保存;
charles一般用於捕獲確定的資源;如果你想把別人的整站clone下來,推薦用httrack這個工具,charles在clone網站上做的並不好,可以說是非常垃圾的戰五渣。
但儲存目標的少量文件還是沒問題的;
保存文件的路徑會與你瀏覽網站的目錄結構相同,並且charles會為主機名創建一個根目錄。文件名從URL導出並轉換為適合的數據進行保存。
實際中的應用:你可以把訪問的數據緩存下來,讓app在沒有server的時候,通過map Local 映射到你抓取到的文件,這樣app也能繼續跑;
你也可以用鏡像工具保存網站內容后,通過map Local 映射到你抓取到的文件;通過修改文件,達到本地的線上調試的功能(你調試的內容因為用的資源都是本機的,所以並不會真正的影響到線上文件的);
查詢字符串包含在文件名中。
如果收到相同URL的兩個響應,則后面一個文件會覆蓋前面的同名文件,因此您保存是鏡像中的最新數據。
鏡像工具在數據通過Charles時就開始儲存了,因此不受模擬慢速設置的限制影響(慢網速只是對你本地的前端看到效果有影響,但是真正速度還是實際速度)。
所選HOST
該工具可以針對每個請求啟用,也可以僅對選定的host啟用。
當然,如果你設置host的時候,所寫的資源,路徑等都可以用模式匹配。星號”*”和”?”都是可以用的;
替代方法(右鍵save)
在使用“鏡像”工具之后,您也可以右鍵單擊charles目錄中的一個節點(文件/文件夾),在捕獲記錄后將所有抓取結果保存本地,這會配置鏡像更具更加簡單,而且避免一些垃圾文件。
唯一的區別就是鏡像工具不受錄制設置中設置的錄制限制,而后來的保存響應是有限的,可能在模擬慢速的時候存在丟失數據的情況。
可能會遇到的坑
如果鏡像工具啟用了,它將導致任何壓縮或編碼的響應被解碼。
因此,如果服務器提供了一份壓縮后的響應,那么在被傳遞給客戶端之前,它將被Charles解壓縮(charles相當於是客戶端和服務端之間的一個過濾器,任何請求和響應都會經過charles);
即時返回了一份解壓縮后的文件,一般也不會有任何影響的;
但如果您已經構建了自己的客戶端,或者你本身就是想要那種壓縮的響應,那么此時你是得不到的;