Charles 是Mac 經常使用的抓包工具,也可在Windows使用, charles界面簡單直觀,易於上手,數據請求控制容易,修改簡單,抓取數據的開始暫停方便等等,推薦使用。html
Charles 的官方網站(http://www.charlesproxy.com)下載安裝;前端
Charles 是收費軟件,能夠免費試用 30 天。試用期事後,未付費的用戶仍然能夠繼續使用,可是每次使用時間不能超過 30 分鐘,而且啓動時將會有 10 秒種的延時。git
建議購買正版使用,不想花錢買正版時,也能夠下載破解使用,使用方法:瀏覽器
gitoschina碼雲源碼: http://git.oschina.net/iYoungDone/charlesloader網絡
只是抓取HTTP協議時不須要安裝證書;HTTPS協議須要安裝CA證書
app
a、 啓動Charles,選擇 「Proxy」->「Proxy Settings」,填入代理端口 8888,而且勾上 「Enable transparent HTTP proxying」 ,點擊OK,在設備上再訪問網絡,請求包就能夠被咱們抓取到。工具
b、 經過打開Charles->Help->SSL Proxying->點擊最長那個,來查看代理的IP地址、端口號測試
c、 手機和電腦都鏈接到同一個網段,設置移動端代理:wifi設置->高級或點擊已鏈接的wifi->Http代理->手動->輸入電腦所在的IP地址(192.168.1.104),端口號爲8888網站
d、 設置好以後,啓動APP,Charles會彈出是否容許提示框,點擊Allow便可加密
https協議包會被加密,須要安裝證書
a、 在移動端瀏覽器中訪問:chls.pro/ssl下載安裝證書
b、菜單:Proxy->SSL Proxy Setting,配置須要抓取的https URL,添加一條*.*表示捕獲解析全部https請求,若是不配置則不會解析https數據包的內容。
a、 右鍵點擊須要模擬的請求,選擇Breakpoints
b、 斷點設置,Proxy->Breakpoint Settings找到勾選Breakpoints的請求,雙擊進入編輯以下頁面,把Query改爲*號,點擊OK,如只需修改返回值勾選Response便可
c、 再次請求該接口,會跳轉到以下頁面,編輯request參數以後,點擊下方Execute按鈕後,客戶端就能夠看到請求返回的數據(修改request)
d、 再次請求該接口,編輯Response參數以後,點擊下方Execute按鈕後,客戶端就能夠看到請求返回的數據(修改Response)
有時候在開發的時候咱們想要模擬一下網絡慢的狀況,這時候Charles他是能夠幫助到你的,在Proxy->Throttle Setting,而後選擇Enable Throttling,在Throttle Preset下選擇網絡類型便可,具體設置你能夠自行拿捏。
解析下圖上幾個配置的含義:
Bandwidth(帶寬)、Utilistation(利用百分比)、Round-trip(往返延遲)、MTU(字節)就是用來設定可傳輸數據包的最大尺寸的(MTU的說明請看百度百科)。
請求重定向的做用是什麼呢?開發中通常都是測試環境,若是咱們想對比一下和線上版本的區別的話,能夠講測試的請求重定向到正式環境下。在選擇 Tools->Map Remote下:
有時候咱們會測一下請求的參數不一樣會帶來不一樣的返回結果以測試是否達到業務需求,或者須要不一樣的返回結果來驗證咱們對數據的處理是否正確,這時候須要後臺的同事配合,可是有了Charles,咱們能夠本身把控接口返回來的內容,好比數據的空與否,數據的長短等等。在Tools->Rewrite Settings下:
repeat功能對於測試同窗特別有用,能夠檢驗接口的健壯性。
repeat功對於前端的價值是不須要刷新頁面,只須要repeat請求,好比檢驗代理是否成功,修改請求後執行等。
「repeat」重複發送一次請求。
「repeat Advances」能夠自定義重複次數和重複間隔。