reorx/httpstat 是一款更加清晰易讀的 cURL 工具。其本意是將 cURL 請求的統計資料圖形化、視覺化,但也可作為日常的 HTTP 客戶端使用。
效果如下:
相比於繁複細緻的 cURL 選項,使用此專案可快速檢視響應頭及相關的統計資料。
安裝方式十分簡單,通過 Python 的包管理器 pip
或是 Homebrew 均可:
pip install httpstat
# 或
brew install httpstat
由於該專案實際是個單檔案 Python 指令碼,所以作者還給出了直接下載使用的方式,在部分場景下十分有用:
wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
同時,由於本專案是 cURL 的二次包裝,其內部仍舊通過 curl
命令實現,所以支援大量 cURL 引數,面對複雜的請求資料同樣得心應手,例如:
httpstat httpbin.org/post -X POST --data-urlencode "a=b" -v
另外,該專案還有其它語言版本,例如:
- Go: davecheney/httpstat
- Bash: b4b4r07/httpstat
- Node.js: yosuke-furukawa/httpstat
- PHP: talhasch/php-httpstat
通過檢視原始碼進行一番比較,其中 Bash 和 PHP 版本均採用與 Python(也就是原版)同樣的實現方式,即通過 curl
命令實現;而 Go 和 Node.js 版本則不依賴於 curl
命令,直接使用網路庫發起請求並輸出統計資料。這兩種實現方式各有優劣,我的傾向如下:
- Python 版本適合有 Python 環境,且需要與
curl
命令高度相容的場景。 - Bash 版本適合無 Python 環境,且需要與
curl
命令高度相容的場景。 - Go 版本無須多言,適合零依賴場景。
- Node.js 和 PHP 版本,用於興趣愛好研究吧?。
目前,我在我的 macOS 上安裝了 Python 版本,路由器等網路裝置上安裝了 Go 版本。
最後,該專案還提供了一些環境變數用於輸出速度等,例如通過 HTTP 協議下載 CacheFly 的檔案來測試下行網速:
HTTPSTAT_SHOW_SPEED=true httpstat http://cachefly.cachefly.net/10mb.test
有興趣就看看專案文件吧!