Skip to main content

A very simple tool to debug HTTP(S) client requests

Project description

Code style: black Build Status PyPI version Coverage Status

httpdbg

A very simple tool to debug HTTP(S) client requests.

ui

installation

pip install httpdbg

usage

interactive console

Open an interactive console using the following command: pyhttpdbg

(venv) dev@host:~/dir$ pyhttpdbg 
.... - - .--. -.. -... --. .... - - .--. -.. -... --. .... - - .--. -.. -... --.
  httpdbg - HTTP(S) requests available at http://localhost:4909/
.... - - .--. -.. -... --. .... - - .--. -.. -... --. .... - - .--. -.. -... --.
Python 3.10.6 (main, Aug 10 2022, 11:40:04) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> 

Perform HTTP requests.

You can inspect the HTTP requests directly in your web browser at http://localhost:4909.

script

You can trace all the HTTP requests performed by a script

pyhttpdbg --script filename.py [arg1 --arg2 ...]

pytest

You can trace all the HTTP requests performed during your tests

pyhttpdbg -m pytest [arg1 --arg2 ...]

note: the HTTP(S) requests are not recorded if the tests are executed in parallel using plugin like xdist.

module

You can trace all the HTTP requests performed by a library module run as a script using the -m command line argument.

For example, you can view which HTTP requests are performed by pip when you install a package.

pyhttpdbg -m pip install httpdbg --upgrade

Supported libraries

library status known limitations
requests supported -
urllib3 supported -
httpx supported Async HTTP requests not intercepted on Windows (HTTPS OK)
aiohttp supported Async HTTP requests not intercepted on Windows (HTTPS OK)

configuration

No configuration is necessary to start but some few settings are available for particular use.

command line

usage: pyhttpdbg [-h] [--port PORT] [--version] [--keep-up | --force-quit]
                 [--console | --module MODULE | --script SCRIPT]

httdbg - a very simple tool to debug HTTP(S) client requests

options:
  -h, --help            show this help message and exit
  --version, -v         print the httpdbg version

  --port PORT, -p PORT  the web interface port
  
  --keep-up, -k         keep the server up even if the requests have been read
  --force-quit, -q      stop the server even if the requests have not been read

  --console             run a python console (default)
  --module MODULE, -m MODULE
                        run library module as a script (the next args are passed to pytest as is)
  --script SCRIPT       run a script (the next args are passed to the script as is)

web interace

Clic on the button on the top right of the page.

Some options are available:

  • Hide the netloc in the url
  • Hide the initiator rows

To keep your configuration, bookmark the page with the full search query.

Fox example, if you want to hide the initiator rows by default, the url will be:

http://localhost:4909/?hi=on

web interface

All the requests recorded are available on the web interface.

The requests:

  • are still available in the web page even if the python process stopped (except if you force quit before the requests have been loaded by the web page).
  • are automatically cleaned if a new execution is detected.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

httpdbg-0.8.1.tar.gz (43.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

httpdbg-0.8.1-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

Details for the file httpdbg-0.8.1.tar.gz.

File metadata

  • Download URL: httpdbg-0.8.1.tar.gz
  • Upload date:
  • Size: 43.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for httpdbg-0.8.1.tar.gz
Algorithm Hash digest
SHA256 d639863c52a4fec9330b8a6f1ef1df8bc4df719c9d2fb7392e70c492744ce96b
MD5 b9c2d6f4b682623aef6ea24aba94485b
BLAKE2b-256 57c7056e6b5c7f9993f34617256289e3a98072dc894dc093e34080e983f2c992

See more details on using hashes here.

File details

Details for the file httpdbg-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: httpdbg-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 45.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for httpdbg-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c00b9b8d3814a932478fb00cf035235bb3a94be2de65520646ba44a73d2e7b86
MD5 1d217685a1426fe5d1b0d591c4d67887
BLAKE2b-256 590fd1341ce1f130b9c6711c14e6b503bd7befeac5ce67f73ee7dd5871cba7f8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page