Repolode
cle-b

cle-b/httpdbg

一款面向 Python 开发者的调试工具,记录程序发出及接收的 HTTP(S) 请求并在本地网页中查看。

Star
907
Fork
28
未关闭 Issue
5
最近提交
4天前

这是什么?

httpdbg 帮助 Python 开发者查看程序产生的 HTTP(S) 流量。使用 pyhttpdbg 命令代替 python 运行脚本、模块、测试或交互控制台,所有请求都会被捕获,并在 localhost:4909 的网页中展示,按发起请求的函数分组。

工具同时覆盖客户端和服务端。默认记录 requests、urllib3、httpx 和 aiohttp 发出的客户端请求,也可追踪 Flask 与 FastAPI 处理的服务端请求。运行 pytest 或 unittest 时,请求会按测试用例分组。支持 HTTP/1.0、HTTP/1.1,以及通过 h2 库实现的 HTTP/2。

捕获的记录可以导出为单个 HTML 文件便于分享,还可以用 -i 参数把其他包添加为请求发起者。

核心功能

  • 01记录 requests、urllib3、httpx 和 aiohttp 发出的客户端请求。
  • 02追踪 Flask 和 FastAPI 处理的服务端请求。
  • 03在 pytest 与 unittest 运行中按测试用例对请求分组。
  • 04支持 HTTP/1.0、HTTP/1.1 和 HTTP/2。
  • 05可将调试记录导出为独立的 HTML 文件。

适用场景

  • 查看 Python 脚本运行时调用了哪些 API。
  • 检查 pip 或其他模块发出了哪些 HTTP 请求。
  • 排查测试套件发出的请求及其来源。
  • 在本地 Flask 或 FastAPI 开发服务器中查看收到的请求。

快速上手

  1. 1

    从 PyPI 安装 httpdbg

    pip install httpdbg
  2. 2

    用 httpdbg 运行脚本,然后打开 http://localhost:4909 查看请求

    pyhttpdbg --script filename.py

使用前须知

  • 服务端请求记录功能较新,部分框架仍在完善中。
  • HTTP/2 支持需要依赖 h2 库。

收录于专题

标签

常见问题

httpdbg 是什么?
一款面向 Python 开发者的调试工具,记录程序发出及接收的 HTTP(S) 请求并在本地网页中查看。 httpdbg 帮助 Python 开发者查看程序产生的 HTTP(S) 流量。使用 pyhttpdbg 命令代替 python 运行脚本、模块、测试或交互控制台,所有请求都会被捕获,并在 localhost:4909 的网页中展示,按发起请求的函数分组。
httpdbg 可以免费使用吗?用的什么许可证?
httpdbg 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
httpdbg 还在维护吗?
活跃维护中。httpdbg 最近一次提交是在 2026年11月2日。
httpdbg 适合用来做什么?
查看 Python 脚本运行时调用了哪些 API。 检查 pip 或其他模块发出了哪些 HTTP 请求。 排查测试套件发出的请求及其来源。 在本地 Flask 或 FastAPI 开发服务器中查看收到的请求。
httpdbg 怎么安装和运行?
从 PyPI 安装 httpdbg: pip install httpdbg 用 httpdbg 运行脚本,然后打开 http://localhost:4909 查看请求: pyhttpdbg --script filename.py
在哪里获取 httpdbg?
源代码和安装说明在 GitHub 上:https://github.com/cle-b/httpdbg

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目