Get started with HttpHound
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
httphound my_test.py
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
================================================================================