本文介紹的是如何使用Fiddler工具抓取Android應用的HTTP協議的數據包html
第一步:將筆記本電腦鏈接網絡(有線和無線都可)json
第二步:在Fiddler中設置「容許遠程鏈接」和「默認端口」瀏覽器
第三步:打開「控制面板」-「網絡和Internet」-「網絡鏈接」,選中當前的活動鏈接,找到局域網IP地址。安全
第四步:設置Genymotion中的模擬器代理IP地址爲192.168.1.8(上一步記錄的IP),設置完後記得保存服務器
請求行、通用信息頭、請求頭、實體頭、報文主體網絡
以下:app
請求格式爲工具
Method【分隔符】Request-URI【分隔符】HTTP-Version【換行】性能
其中:Method是請求方法,相似的方法有GET、POST、DELEFT、PUT、HEAD...經常使用的方法是GET、POST,GET和POST區別在於:測試
一、GET經過URLParams傳值,POST經過報文體傳值(經過Content-Type請求頭分辨內容類型,經常使用的有:application/json,text/plain,text/html,image\png...)
二、GET傳遞的值不能大於2kb,POST理論上不限制大小,實際大小和服務器配置有關。
三、GET的參數很容易被看見故安全性較低,POST參數不容易被看見故安全性較高(通常用於傳輸用戶的身份信息,經常使用表單、登陸等)
常見的請求字段的含義:
1. HOST: 該請求的目標主機
2. ACCEPT: 客戶端可接受的內容類型
3. USER-AGENT: 用戶代理,通常是瀏覽器的信息(不少統計網站如cnzz, 51la, 就是用這個蒐集用戶訪問數據)
4. ACCEPT-ENCODING: 可接受的編碼(Android端就是用這個實現gzip壓縮,優化網絡請求,推薦)
5. REFRER:來源,該請求是哪一個頁面發起的(通常網站用這個字段實現防圖片盜鏈,只要REFRER中的主機不是本網站,掛斷請求)
狀態行 通用信息頭 響應頭 實體頭 報文主體
狀態行由狀態碼和緣由分析兩部分構成。其中,狀態碼由3位數字組成,表示請求是否被理解或被知足,用來至此自動操做;緣由分析是對原文的狀態碼做簡潔的描述,用來供用戶使用。
響應報文中的狀態碼在進行Web應用性能測試的過程當中常常遇到,說明以下:
1XX:信息響應類,表示接收到請求而且繼續處理。
2XX:處理成功響應類,表示動做被成功接收、理解和接收
3XX:重定向響應類,表示爲了完成指定的動做,必須接受進一步處理
4XX:客戶端錯誤,表示客戶請求包含語法錯誤或不能正確執行
5XX:服務端錯誤,表示服務器不能正確執行一個正確的請求
經過上述的配置,咱們用Fiddler抓取到了Splash頁面的請求:
http://mobileif.maizuo.com/ver4/city/37/ADInfo?agentID=baidu&channelID=31&clientID=31&revision=4.2.5&agentID=baidu
從該請求能夠簡單獲取如下信息:
1. 該請求使用的是POST, HTTP1.1
2. 賣座接口啓用了gzip優化網絡請求
3. 內容長度爲211個字節,而且支持UTF-8
本文待完善,若有問題,請多多指教。