httptap¶
httptap 是一个基于 Rich 的命令行工具,它将一次 HTTP 请求拆解为每个有意义的阶段——DNS 解析、TCP 连接、TLS 握手、服务器等待、以及响应体传输,并以时间线表格、紧凑摘要或机器友好的指标形式呈现结果。它专为交互式故障排查、回归分析 以及性能基线记录而设计。
特别优惠
将 GitKraken Client、用于 VS Code 的 GitLens 以及强大的 CLI 工具组合在一起,加速每一次仓库工作流。
httptap 社区专享
亮点¶
- 分阶段计时 —— 基于 httpcore 的 trace 钩子进行精确测量(当底层数据不可用时提供合理的回退估算)。
- 全部 HTTP 方法 —— GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS,均支持请求体。
- 请求体支持 —— 内联或从文件发送 JSON、XML 或任意数据,并自动检测 Content-Type。
- IPv4/IPv6 感知 —— 解析器与 TLS 检查器会同时报告地址及其地址族。
- TLS 洞察 —— 证书 CN、SAN、颁发者、序列号、有效期窗口与到期倒计时,以及加密套件和协议版本,均直接从当前连接自动采集(无需额外握手)。
- 多种输出模式 —— 丰富的瀑布图视图、紧凑的单行摘要,或用于脚本化的
--metrics-only。 - JSON 导出 —— 持久化完整的分步数据(包含重定向链)以便后续处理。
- 可扩展 —— 为 DNS、TLS、计时、可视化和导出提供清晰的 Protocol 接口,便于插入自定义行为。
快速示例¶
GET 请求:
带 JSON 数据的 POST 请求:

核心特性¶
丰富的瀑布图可视化¶
借助基于 Rich 的精美终端 UI,查看 HTTP 请求各阶段的详细计时分解。
多种输出格式¶
- Rich 模式(默认):带颜色和格式的精美瀑布图表格
- 紧凑模式(
--compact):适合日志的单行摘要 - 指标模式(
--metrics-only):用于脚本化和自动化的原始指标 - JSON 导出(
--json):包含重定向链的完整请求数据
高级网络洞察¶
- 带 IP 地址族检测(IPv4/IPv6)的 DNS 解析计时
- TCP 连接建立计时
- 带证书信息的 TLS 握手分析
- 首字节时间(TTFB)测量
- 响应体传输计时
重定向链支持¶
使用 --follow 参数跟随 HTTP 重定向,并查看链中每一步的计时分解。
下一步?¶
环境要求¶
- Python 3.10-3.15
- macOS、Linux 或 Windows
- 除标准网络能力外无系统依赖
许可证¶
Apache License 2.0 © Sergei Ozeranskii
联系¶
关注作者,获取来自真实经验的洞见:
- Telegram 频道 —— 开发、DevOps、架构与安全。真实经验与务实洞见,绝无废话。
- GitHub —— 开源项目与贡献
致谢¶
构建于众多出色的库之上: