簡介
Charles是目前最強大的http調試工具之一,在網絡開發中使用它作為分析工具,可以很大程度上提高我們的開發效率,
Charles是收費軟件,可以試用。有條件的建議用正版,當然天朝也不乏破解版。
安裝
下載好后,解壓打開,然后右擊、顯示包內容。如圖
將如下文件夾中的jar包替換為我們破解文件夾中的jar包:
這樣就破解了,然后就能happy的使用了
配置
安裝證書
按上面指示流程打開 鑰匙串訪問,搜索 charles 可以看到剛才安裝的證書,查看證書狀態是否已經被信任(名稱有紅色標記)。
添加證書時,選擇始終信任
在Mac上抓取網絡請求
對于Mac系統而言,打開charles之后,默認就已經對系統進行了代理,如果沒有,則需要在菜單欄的Proxy上勾選上Mac OS X Proxy。
這時候就能抓取Mac的網絡請求了
在移動設備上進行抓包
在移動設備上抓取網絡請求,我們的移動設備必須和電腦在同一網段:
1、電腦和移動設備同時連接同一網段的網絡。
2、是電腦共享wifi出來,然后用移動設備區連接,
設置Http代理
設置HTTP網絡請求的端口號為8888并設置為可用的。如下圖:
移動設備的設置:
如圖:
設置wifi的HTTP代理為手動,服務器地址為Mac的ip 地址(這個地址就不用說怎么找了吧)
端口號為8888(這個端口號就是之前在Charles上設置的)
SSL
如果要抓取有SSl協議的網絡請求,這時候我們還需要安裝一個證書
方法如下:
iOS設備
將iOS設備設置為在“設置”應用程序> Wifi設置中將Charles用作其HTTP代理。
打開Safari并瀏覽到https://chls.pro/ssl。Safari會提示你安裝SSL證書。
如果您使用的是iOS 10.3或更高版本,請打開Settings.app并導航至常規>關于>證書信任設置,然后查找Charles Proxy證書,并將其打開以啟用對其的完全信任(iOS中有關此更改的更多信息10)。
現在您應該可以使用SSL Proxying與Charles訪問SSL網站。
Charles在3.11.4發行版中支持App Transport Security(ATS)。
iOS模擬器
退出你的iOS模擬器。啟動Charles并轉到幫助菜單。選擇“SSL代理>在iOS模擬器中安裝Charles Root證書”項目。這將安裝您的查爾斯根證書到您的所有iOS模擬器。現在,當您啟動iOS模擬器時,您應該可以使用SSL Proxying與Charles訪問SSL網站。
SSL 協議設置:
在proxy菜單中選中proxy Setting。 選中SSL Proxy選項卡。點擊add添加,然后填寫服務器地址和端口號。再選中Enable SSL Proxy 選項。
注意: 如果iOS模擬器上抓不到請求包,重啟模擬器即可。
Charles的更多應用
過濾網絡請求
有時候我們只想抓取某個主機的網絡請求(比如測試服務器),我們可以設置過濾網絡,在Proxy菜單下的Recording Setting中選擇include標簽,可以在里面添加一個白名單,這樣Charles就只抓取這個主機下的請求了
如上圖:點擊Add就出現下圖
幾個字段的含義:
Protocol : 協議(Http或https)
Host : 主機(服務器)地址
Port : 端口號
Path : 路徑
模擬限速網絡
很多時候,我們需要測試在網絡不佳時應用請求的相關數據,我們可以模擬設置限速網絡,在Proxy菜單中的Throttle Settings中將,Enable Throttling勾選,并可以在下面進行網路設置,only for selected host可以設置一個指定的主機訪問進行限制網絡。
修改網絡信息,多次請求
在測試接口時,有時候我們需要反復進行不同參數的接口請求,Charles也支持我們進行請求參數的修改和多次請求,在請求上點擊右鍵,現則edit:
如圖:其中的參數,請求類型等我們都可以修改,之后點擊execute進行重新請求
批量請求選擇repeat advanced...
iterations:10 //請求次數
concurrency:2 //請求的并發數
show results in new session //新建一個session窗口
delays //請求延遲