Charles是一個HTTP代理服務器,HTTP監視器,反轉代理服務器,當瀏覽器鏈接Charles的代理訪問互聯網時,Charles能夠監控瀏覽器發送和接收的全部數據。它容許一個開發者查看全部鏈接互聯網的HTTP通訊,這些包括request, response和HTTP headers (包含cookies與caching信息)。來自百度百科瀏覽器
將 Charles 設置成系統代理服務器
Charles是經過將本身設置成代理服務器來完成封包截取的,因此使用 Charles 的第一步是將其設置成系統的代理服務器。選擇菜單中的 「Proxy」 -> 「Windows Proxy」 來將 Charles 設置成系統代理。以下所示:cookie
以後,你就能夠看到源源不斷的網絡請求出如今 Charles 的界面中。網絡
注意:spa
Chrome 和 Firefox 須要設置成使用系統的代理服務器,或者直接將代理服務器設置成127.0.0.1:8888。代理
Charles 主界面介紹blog
Charles 主要提供兩種查看封包的視圖,分別名爲 「Structure」 和 「Sequence」。能夠根據具體的須要在這兩種視圖以前來回切換。排序
Structure:視圖將網絡請求按訪問的域名分類。圖片
Sequence:視圖將網絡請求按訪問的時間排序。開發
Charles 提供了簡單的 Filter 功能,輸入關鍵字來快速篩選出 URL 中帶指定關鍵字的網絡請求。對於某一個具體的網絡請求,你能夠查看其詳細的請求內容和響應內容。若是請求內容是 POST 的表單,Charles 會自動幫你將表單進行分項顯示。若是響應內容是 JSON 格式的,那麼 Charles 能夠自動幫你將 JSON 內容格式化,方便你查看。若是響應內容是圖片,那麼 Charles 能夠顯示出圖片的預覽。
過濾網絡請求
一般狀況下,須要對網絡請求進行過濾,只監控指定服務器的請求。有3種辦法:
方法一:在主界面的中部的 Filter 欄中輸入須要過濾出來的關鍵字。例如咱們的服務器的地址是:http://www.jianshu.com , 那麼只須要在 Filter 欄中輸入 jianshu 便可。
方法二:菜單欄選擇 「Proxy」->」Recording Settings」,在彈出的窗口中選擇 Include 欄,再點擊「Add」,在彈出的窗口中輸入須要監控的協議,主機地址,端口號等信息,來添加一個項目。以下圖所示:
方法三:在想過濾的網絡請求上右擊,選擇 「Focus」,以後在 Filter 一欄勾選上 Focussed 一項,以下圖所示:
能夠臨時性、快速地過濾掉一些沒有經過關鍵字的網絡請求。
截取手機上的網絡封包