httpstat 以美观和清晰的方式可视化curl(1)
统计数据。
是单个文件吗?没有依赖的Python脚本?并且与Python 3兼容? 。
获取httpstat
的方法有以下三种:
直接下载脚本: wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
通过pip: pip install httpstat
通过自制程序(仅限 macOS): brew install httpstat
对于 Windows 用户,建议使用 @davecheney 的 Go 版本。 → 下载链接
简单地:
python httpstat.py httpbin.org/get
如果通过pip或brew安装,则可以使用httpstat
作为命令:
httpstat httpbin.org/get
因为httpstat
是 cURL 的包装,所以您可以在 url 之后传递任何 cURL 支持的选项(除了-w
、 -D
、 -o
、 -s
、 -S
,它们已被httpstat
使用):
httpstat httpbin.org/post -X POST --data-urlencode " a=b " -v
httpstat
有一堆环境变量来控制其行为。这里有一些使用演示,您也可以运行httpstat --help
查看完整说明。
HTTPSTAT_SHOW_BODY
设置为true
以在输出中显示响应正文,请注意,正文长度限制为 1023 字节,如果超过,将被截断。默认为false
。
HTTPSTAT_SHOW_IP
默认情况下,httpstat 显示远程和本地 IP/端口地址。设置为false
可禁用此功能。默认为true
。
HTTPSTAT_SHOW_SPEED
设置为true
以显示下载和上传速度。默认为false
。
HTTPSTAT_SHOW_SPEED=true httpstat http://cachefly.cachefly.net/10mb.test
...
speed_download: 3193.3 KiB/s, speed_upload: 0.0 KiB/s
HTTPSTAT_SAVE_BODY
默认情况下,httpstat 将正文存储在 tmp 文件中,设置为false
以禁用此功能。默认为true
HTTPSTAT_CURL_BIN
指示要使用的 cURL bin 路径。默认是来自当前 shell $PATH 的curl
。
本示例使用brew安装的cURL来发出HTTP2请求:
HTTPSTAT_CURL_BIN=/usr/local/Cellar/curl/7.50.3/bin/curl httpstat https://http2.akamai.com/ --http2
HTTP/2 200
...
cURL 必须与 nghttp2 一起编译才能启用 http2 功能 (#12)。
HTTPSTAT_METRICS_ONLY
如果设置为true
,httpstat 将仅以 json 格式输出指标,如果您想解析数据而不是读取数据,这非常有用。
HTTPSTAT_DEBUG
设置为true
以查看调试日志。默认为false
为了方便起见,您可以在.zshrc
或.bashrc
中导出这些环境,例如:
export HTTPSTAT_SHOW_IP=false
export HTTPSTAT_SHOW_SPEED=true
export HTTPSTAT_SAVE_BODY=false
以下是一些不同语言的实现:
转到:davecheney/httpstat
这是 httpstat 的 Go 替代品,它是用纯 Go 编写的,不依赖外部程序。如果您喜欢可靠的二进制执行,请选择它(实际上我喜欢)。
Go(库):tcnksm/go-httpstat
除了作为 cli 工具之外,该项目还用作库来帮助调试 Go 代码中 HTTP 请求的延迟,非常周到且有用,请参阅本文
重击:b4b4r07/httpstat
这正是我一开始想做的,但由于对自己的 bash 技术不自信而放弃了,干得好!
节点:yosuke-furukawa/httpstat
b4b4r07 在他的文章中提到了这一点,也可以用作 HTTP 客户端。
PHP:talhasch/php-httpstat
@talhasch 的 PHP 实现
httpstat
中的一些代码块是从我的其他项目复制的,看一下:
reorx/python-terminal-color 用于打印终端颜色的嵌入式单文件库。
reorx/getenv 带类型的环境变量定义。