HTTP リクエストのデバッグはバックエンド開発における日常作業です。API の問題を調査したり、サードパーティサービスの動作を分析したりする際、リクエストの詳細を直感的に確認できることは非常に重要です。今回紹介する httpdbg は、このような目的のために設計された Python デバッグツールです。

プロジェクト概要

httpdbg は cle-b によって開発・メンテナンスされている軽量な Python HTTP デバッグツールです。requests、httpx、aiohttp、urllib3 などの主要な HTTP クライアントライブラリに加え、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 リクエストを頻繁に扱う場合、試す価値があります。


プロジェクト情報: