Charles是一個web代理器,用來記錄和展現你所發出和接收到的全部數據。web
SSL Proxying——易清晰地文本展現SSL請求和響應
Bandwidth Throttling是用來模擬包括潛在的慢的網絡鏈接
AJAX debugging——以文本或樹形模式來展現XML和JSON的請求和響應
AMF——查看Flash Romoting的內容/以樹的形式展現遠程消息
重複請求來測試後端的變化
編輯請求來測試不一樣的輸入
Breakpoints是用來攔截並編輯請求和響應的。
使用W3C驗證器來驗證已記錄的HTML,CSS,RSS以及原子的響應。後端
使用簡介:
1.下載安裝包,安裝。
2.註冊。在Help窗口內選擇Register Charles。(若是不註冊的話,使用Charles每30分鐘它就會自動退出一次,因此仍是註冊了吧!)
註冊碼:Registered name: anthony ortolani
License key: a4036b2761c9583fda服務器
3.將Charles設置成系統代理啓動Charles以後,第一次它會請求你給它設置系統代理的權限。你能夠輸入登陸密碼授予Charles該權限。若是你忽略了該請求,你能夠經過選擇菜單中的「Proxy」—>」Mac OS X Proxy「來將Charles設置成系統代理。
網絡
4.主界面簡介:工具
Charles提供了兩種查看視圖,分別爲「Structure」和"Sequence"。
1.Structure視圖將網絡請求按照訪問的域名分類。測試
2.Sequence視圖將網絡請求按照訪問的時間進行排序。網站
工具條:url
工具條從左到右的功能一次是:1.新建一個會話 2.打開一個會話(已存在的) 3.關閉當前會話 4.存儲當前會話5.清除當前捕獲的全部請求 6.搜索 7.開始/中止捕獲 8.開始/中止網速模擬功能9.開始/中止斷點功能 10.刷新已選擇的請求 11.編輯 12.驗證響應(請求的結果)13.工具 14.設置spa
有時咱們須要對網絡請求進行過濾,只監控向指定目錄服務器上發送的請求。對於這種需求,咱們有2種辦法:
1.在主界面的中部的Filter欄中填入須要過濾出來的關鍵字。
2.在Charles的菜單欄選擇"Proxy"->"Recording Settings",而後選擇Include欄,選擇添加一個項目,而後填入須要監控的協議,主機地址,端口號。這樣就能夠只截取目標網站的封包了。
(PS:通常,咱們使用方法1作一些臨時性的封包過濾,方法2作一些常常性的封包過濾。)debug
1.Charles上的設置
要截取手機上的網絡請求,咱們首先須要將Charles的代理功能打開。在Charles的菜單欄上選擇「Proxy」->"Proxy Settings",填入代理端口8888,而且勾上"Enable transparent HTTP proxying" 就完成了在Charles上的設置。
2.手機上的設置
1.咱們須要獲取Charles運行所在電腦的IP地址,打開Terminal,輸入ifconfig en0, 便可得到該電腦的IP。
2.在手機的 「設置」->「WLAN「中,能夠看到當前鏈接的wifi名,經過長按網絡名稱,彈出一個對話框,選擇」修改網絡配置「—>勾選」顯示高級選項"能夠看到在其最底部有「HTTP代理」一項,咱們將其切換成手動,而後填上Charles運行所在的電腦的IP,以及端口號8888。(PS:每一個人的手機都不一樣,因此個別細節會有差別)
3.設置好以後,咱們打開iPhone上的任意須要網絡通信的程序,就能夠看到Charles彈出iPhone請求鏈接的確認菜單,點擊「Allow」便可完成設置。
若是咱們須要模擬慢速網絡或者高延遲的網絡,來測試在移動網絡下,應用的表現是否正常。咱們能夠經過Charles進行設置。
在Charles的菜單上,選擇"Proxy"->"Throttle Setting"項,在以後彈出的對話框中,咱們能夠勾選上「Enable Throttling」,而且能夠設置Throttle Preset的類型。若是隻想模擬指定網站的慢速網絡,能夠勾選圖中的"Only for selected hosts"項,而後在對話框的下半部分設置中增長指定的hosts項便可。以下圖所示:
Charles提供網絡請求的修改和重發功能。咱們只須要在已有的網絡請求上右鍵點擊,選擇」Edit「,便可建立一個可編輯的網絡請求。如圖所示:
咱們能夠修改該請求的任何信息,包括url地址,端口,參數等,以後點擊「Execute」便可發送該修改後的網絡請求。(PS:Charles支持咱們屢次修改和發送請求)