httpdbg: Python HTTP 调试的利器
调试 HTTP 请求是后端开发中的日常操作。无论是排查 API 问题还是分析第三方服务的行为,能够直观地查看请求细节都至关重要。今天介绍的 httpdbg 就是一款专门为此设计的 Python 调试工具。
项目概览
httpdbg 是一个轻量级的 Python HTTP 调试工具,由 cle-b 开发维护。它支持多种主流 HTTP 客户端库,包括 requests、httpx、aiohttp、urllib3 等,甚至支持 FastAPI 和 Flask 等 Web 框架的调试。
核心特点:
- 零代码侵入 —— 无需修改现有代码,通过环境变量或命令行即可启用
- 多库支持 —— 兼容 Python 生态中最流行的 HTTP 库
- Web UI 界面 —— 提供可视化的请求查看界面,比日志输出更直观
- pytest 集成 —— 原生支持 pytest 测试框架的调试
安装与使用
pip install httpdbg
最基础的使用方式是通过命令行包装你的 Python 脚本:
python -m httpdbg your_script.py
或者作为 pytest 插件:
python -m pytest --httpdbg
启动后会自动打开 Web 界面,默认地址是 http://localhost:49062,在这里你可以看到所有 HTTP 请求的详细信息:
- 请求方法和 URL
- 请求头和请求体
- 响应状态码和内容
- 请求耗时
实战示例
假设你有一个使用 requests 的脚本:
import requests
response = requests.get("https://api.github.com/users/cle-b")
print(response.json())
使用 httpdbg 调试:
python -m httpdbg script.py
浏览器会自动打开调试界面,显示这次请求的完整信息,包括请求头、响应体等细节,无需在代码中添加任何 print 语句。
适用场景
- API 开发调试 —— 快速验证后端 API 的请求响应
- 第三方服务排查 —— 分析外部 API 的行为
- 测试调试 —— 在 pytest 中追踪 HTTP 交互
- 教学演示 —— 可视化展示 HTTP 请求过程
总结
httpdbg 以其简洁的设计和强大的兼容性,成为了 Python HTTP 调试场景下的实用工具。898 个 Star 说明它已经被不少开发者认可,但相比同类工具仍有很大的发现空间。如果你在 Python 开发中经常需要处理 HTTP 请求,值得一试。
项目信息:
- GitHub: https://github.com/cle-b/httpdbg
- 文档: https://httpdbg.readthedocs.io/
- Stars: 898 | 语言: Python | 许可证: Apache-2.0