1. 程式人生 > >fiddler抓包genymotion中的https請求

fiddler抓包genymotion中的https請求

1、下載fiddler就不說了,最基本的抓包設定也略過

2、genymotion要想被fiddler抓包,首先開啟模擬器的wlan設定,設定模擬器的代理伺服器。代理伺服器的ip為10.0.3.2,埠為fiddler中設定的監聽埠,一般預設8888

3、檢視本機(電腦)的ip地址,開啟模擬器的瀏覽器,輸入ip:8888(比如我的電腦ip是192.168.2.105,那麼我就在瀏覽器中輸入http://192.168.2.105:8888/)下載證書安裝,名字的話隨便寫個

4、此時fiddler已經可以抓包genymotion了,但是碰到app使用https協議請求還是無法看到介面資料,在fiddler中請求中可以看到這樣的提示:

After the client received notice of the established CONNECT, it failed to send any data.

5、這個時候需要我們是稍微改動下fiddler預設的指令碼,開啟http://www.telerik.com/download/fiddler/fiddlerscript-editor下載fiddler指令碼編輯器,下載後直接安裝

6、安裝完成後重啟fiddler,可以看到fiddler請求工具欄中增加了Fiddler Script一個選項卡,切換到它,點選下方的goto,快速定位到OnBeforeResponse,修改

static function OnBeforeResponse(oSession: Session) {
        if (m_Hide304s && oSession.responseCode == 304) {
            oSession["ui-hide"] = "true";
        }
    }
static function OnBeforeResponse(oSession: Session) {
        if (m_Hide304s && oSession.responseCode == 304) {
            oSession["ui-hide"] = "true";
        }
        if (oSession.HTTPMethodIs("CONNECT") && oSession.responseCode == 200)
        {
            if (oSession.oResponse.headers.ExistsAndEquals("Connection", "close"))
            {
                oSession.oResponse.headers.Remove("Connection");
            }
        }
    }
即可。