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

另外,该项目还有其它语言版本,例如:

通过查看源码进行一番比较,其中 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

有兴趣就看看项目文档吧!