quickstart.md 2.6 KB

Quick Start

Get started with HttpHound

1. Create a Test File

Create my_test.py:

from httphound.main import BaseProxyTest, ProxyConfig
from pathlib import Path

class BasicTest(BaseProxyTest):
    def __init__(self):
        super().__init__()
        self.description = "My first test"
        self.url = "http://127.0.0.1:4242"
        self.expected_status = 200
        
        self.proxy_config = ProxyConfig(
            binary_path="/usr/sbin/haproxy"  # Adjust path
        )
    
    async def run_test(self):
        await self.make_request()
        return True

2. Run the Test

httphound my_test.py

3. View Results

You should see output like:

2026-03-24 08:02:21,277 - httphound.main - INFO - Starting httphound (async version)
2026-03-24 08:02:21,277 - httphound.main - INFO - Discovered 1 tests in ['my_test.py']
2026-03-24 08:02:21,277 - httphound.main - INFO - Running tests sequentially
2026-03-24 08:02:21,277 - httphound.main - INFO - Running test: BasicTest
2026-03-24 08:02:21,277 - httphound.backend - INFO - Backend listening on 127.0.0.1:9999
2026-03-24 08:02:21,429 - httphound.proxy - INFO - Proxy started with PID 907
2026-03-24 08:02:21,469 - aiohttp.access - INFO - 127.0.0.1 [24/Mar/2026:08:02:21 +0100] "GET / HTTP/1.1" 200 154 "-" "python-httpx/0.28.1"
2026-03-24 08:02:21,469 - httpx - INFO - HTTP Request: GET http://127.0.0.1:4242 "HTTP/1.1 200 OK"
2026-03-24 08:02:21,482 - aiohttp.access - INFO - 127.0.0.1 [24/Mar/2026:08:02:21 +0100] "GET / HTTP/1.1" 200 154 "-" "python-httpx/0.28.1"
2026-03-24 08:02:21,482 - httpx - INFO - HTTP Request: GET http://127.0.0.1:4242 "HTTP/1.1 200 OK"
2026-03-24 08:02:21,482 - httphound.backend - INFO - Backend stopped successfully
2026-03-24 08:02:21,545 - httphound.proxy - INFO - Proxy stopped

TEST EXECUTION SUMMARY
================================================================================

================================================================================
Status    Name           Description      Duration (s)
--------  -------------  -------------  --------------
PASS      BasicTest      Basic request           0.205

================================================================================
  Total Tests    Passed    Failed    Total Duration (s)
-------------  --------  --------  --------------------
            1         1         0                 0.205
================================================================================


Next Steps