引言
web 開發(fā)和 API 開發(fā)中難免要詳細分析 http 請求和響應信息。web 開發(fā)的話,瀏覽器提供了便利的工具,比如 chrome 和 IE 都帶了 develop tool,而 firefox 更是有十分強大的 firebug,可以讓 http 請求的所有秘密一覽無遺。目前是 app 大流行的時代,想要觀察 app 中得 http 請求的秘密,瀏覽器的工具和插件都無能為力,有不少本地化的軟件可以很好的解決這個問題,Windows 平臺下有大名鼎鼎的 Fiddler 和 HttpWatch,Mac 平臺下有 Charles。Charles 是一個收費軟件,價格不菲要 $50。錢還不是關(guān)鍵問題,作為一名 geek,當然想更向往開源,輕量的解決方案了,無意中發(fā)現(xiàn) pproxy,簡單使用了一下,覺得相當棒,可以做絕佳的替代方案。
比較
pproxy 和 Fiddler、Charles 最大的不同是,它是一個開源軟件,使用 go 編寫,代碼托管在 github 上。因為開源,作為一名 geek,就可以通過閱讀源代碼對其工作機制一探究竟,如果發(fā)覺某些方面不能滿足需求,可以直接向開發(fā)者提需求,也可以自己動手,豐衣足食,造福大眾。
pproxy 的工作機制和本地化軟件如 Fiddler、Charles 差別很大。Fiddler 和 Charles 是一個本地化軟件,通常是安裝在桌面電腦上,通過在桌面電腦建立 proxy,然后截獲的 http 請求和響應數(shù)據(jù),提供一個本地化的 UI 界面提供服務。而 pproxy 是一個服務端軟件,通常安裝在 Linux 服務器上(當然也是可以安裝在桌面電腦上),在服務器上建立 proxy 截獲 http 請求和響應數(shù)據(jù),另外提供一個遠程的基于 web (html5)的 UI 界面提供服務。
Fiddler UI 如下所示:
pproxy UI 如下所示:
使用
pproxy 使用比較簡單,具體可以參考其使用說明 pproxy。 難得的是他的作者是中國人,所以說明都是中文的。
總結(jié)
pproxy 是一個開源的輕巧的 http 抓包分析工具,尤其適合 API http 請求分析,完全可以替換昂貴的收費工具,同時也可以探索其源碼學習 GO 語言,學習 http 協(xié)議和分析方法。