抓包神器Fiddler之Https請求隨心轉


隨着AppleStore對APP的審核越來越嚴格,客戶端請求服務端API的方式大多數都變更為了https,在更安全的同時又引起了另外一個問題——本地抓包開發調試的不便。

一般來說,我們在開發API的時候,本地環境基本都是不支持https的(若要支持https則需要安裝證書,比較麻煩),抓包神奇Fiddler由於擁有出色的功能,可以對請求進行攔截和處理,因此我在想能不能有一種辦法,把所有的https請求自動轉換成http呢,這樣不就方便了嗎!

前期曾經嘗試過一種方法,那就是Fiddler里的AutoResponder選項卡里的EnableRules功能,主要是根據指定的規則來過濾https請求,然后手工改成http。

如下圖所示:


這種方法可以針對單個請求來實現轉化,但是如果APP的請求很多,每個API都要處理一遍的話,難免會力不從心,能不能批量統一處理呢?

答案是可以的!
這需要借助Fiddler的Customize Rules功能來幫忙!

這個功能是不隨Fiddler的安裝默認安裝的,第一次使用會彈出提示安裝的對話框,進行安裝即可。
附插件安裝地址:http://fiddler2.com/r/?SYNTAXVIEWINSTALL

這個插件的功能是針對抓取的請求,可用自定義腳本的方式來進行處理。

通過查閱資料,我們需要修改OnBeforeRequest方法,在里面添加“https轉http”的邏輯,代碼如下:

// Handle HTTPS requests
if (oSession.isHTTPS)
{
    oSession.fullUrl = "http://" + oSession.hostname + oSession.PathAndQuery;
}

 

添加后點擊保存按鈕,再次抓包,奇跡出現了!

所有的https請求都被轉換成http請求了!在本地可以愉快的調試API代碼了~

 

參考資料:

https://groups.google.com/forum/#!topic/httpfiddler/TiR0fm8PLew

http://stackoverflow.com/questions/10040483/https-http-via-fiddler

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM