工欲善其事必先利其器,做爲開發者必定要會使用工具來增長技能和提高自身價值,平時開發中抓包是咱們必不可少的工具,咱們可使用抓包工具來調試咱們的程序,也可使用抓包工具來分析軟件使用的協議,若是咱們想仿造別人的軟件,又懶於寫服務器的代碼或者不懂服務器編程,也可使用咱們的抓包工具獲取別人軟件的數據(竊取數據不提倡),所以懂得會使用抓包工具在咱們開發中顯得尤其重要的了。基於這幾點,本文爲各位讀者介紹比較主流的抓包工具——Charles,因爲我也是使用的次數不超過十次,因此本文教讀者簡單使用,文章不會太難懂,可是讀者讀完該文章基本可以會使用Charles抓取數據來分析。編程
Charles是一個HTTP代理/ HTTP監視器/反向代理,使開發人員可以查看其計算機和Internet之間的全部HTTP和SSL / HTTPS流量。 這包括請求,響應和HTTP標頭(包含cookie和緩存信息),該軟件是用Java寫的,可以在Windows,Mac,Linux上使用。讀者也能夠到Charles的官網瞭解。須要說明的一點的是這款軟件是須要不是免費的,若是沒有購買的話,有三十天的試用期,三十天事後仍是可使用,可是限時,一天使用的時間不能夠超過30分鐘,並且每次打開使用有10秒鐘的延遲。json
下載安裝軟件,這些步驟,不須要詳說了。下載的話,能夠在官網下載,也能夠百度下載,貌似百度有破解版本的,讀者能夠自行下載安裝。緩存
因爲個人是試用版,因此每次打開都會有十秒鐘的延遲。服務器
PC端抓包,Charles支持抓去http、https協議的請求,可是不支持socket。在PC下charles會自動配置IE和工具的代理設置,打開工具就直接抓包了。可是抓取移動端的 數據,就須要設置代理。cookie
如圖,打開Proxy->ProxySetting。網絡
須要設置端口號,而且Enable須要勾上。socket
Help--->Local IP Adress:工具
作好了上述步驟以後須要在手機上設置代理。測試
打開手機設置-->而後知道使用的網絡-->代理設置url
選擇手動設置
服務器和端口號要跟Charles中同樣的。
完成了以上的步驟就可使用Charles來抓取移動端的數據了。
以上就是我打開UC頭條,抓取到的數據。在Overview中咱們看到URL,請求的響應碼,請求方法等等。
以上即是經過url獲取獲得的json數據。可以獲取到url,咱們便能獲取獲得json數據。
能夠經過Proxy--->Throttle Setting來設置訪問的網上,若是咱們平時使用Sharles來測試服務端或者查看UI的渲染過程,那麼這個就顯得很是有用的了。
勾選Enable而後add,添加限速的ip和端口號,而後就能夠設置上傳和下載的最大速度,還能夠模擬3G和4G的網速。用處仍是很是大的。
使用Charles抓包,在軟件的首界面還能夠在Content中查看到抓取的數據
若是獲取獲得的HTTPS數據是亂碼的狀況,須要到官網獲取並安裝Charles的CA證書了。
經過以上的介紹,讀者應該都懂得如何使用Charles來抓包了,那麼就動起手來吧。