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

pproxy UI 如下所示:

使用
pproxy 使用比較簡(jiǎn)單,具體可以參考其使用說明 pproxy。 難得的是他的作者是中國(guó)人,所以說明都是中文的。
總結(jié)
pproxy 是一個(gè)開源的輕巧的 http 抓包分析工具,尤其適合 API http 請(qǐng)求分析,完全可以替換昂貴的收費(fèi)工具,同時(shí)也可以探索其源碼學(xué)習(xí) GO 語言,學(xué)習(xí) http 協(xié)議和分析方法。