HTTP Log Explorer
A powerful CLI tool for parsing, exploring, and analyzing HTTP traffic logs from HAR files, curl -v output, and Chrome DevTools network exports.
Features
- Multi-format parsing: HAR files, curl -v verbose output, and Chrome DevTools network exports
- Interactive CLI: Rich terminal UI with beautifully formatted tables
- Advanced filtering: Filter by method, status code, URL pattern, content type
- Request/Response diffing: Side-by-side comparison of HTTP pairs
- API analytics: Endpoint frequency, method distribution, status code breakdown, response time statistics
- OpenAPI generation: Automatically generate OpenAPI 3.0 specs from observed traffic
- Export capabilities: JSON, cURL commands, Python/JavaScript/Go code snippets
Installation
From Source
pip install -e .
Dependencies
click==8.1.7
rich==13.7.0
haralyzer==2.0.0
pytest==8.0.0
openapi-spec-validator==0.7.1
Quick Start
# Load a HAR file and show statistics
http-log-explorer load access.har --stats
# List entries with filters
http-log-explorer list-entries --method GET --status 200
# Search across URLs and bodies
http-log-explorer search "api/users"
# Compare two requests
http-log-explorer diff entry-1 entry-2
# Export to OpenAPI spec
http-log-explorer export-openapi api-spec.json --title "My API"
# Export as cURL commands
http-log-explorer export-curl commands.sh
# Export as Python code
http-log-explorer export-code client.py --language python
Commands
| Command | Description |
|---|---|
load FILE |
Load and parse an HTTP log file |
list-entries |
List entries with optional filtering |
search QUERY |
Search across URLs and bodies |
diff ID1 ID2 |
Compare two entries by ID |
stats |
Show traffic statistics |
filter-entries |
Filter entries and show results |
export-json FILE |
Export entries to JSON |
export-curl FILE |
Export as cURL commands |
export-code FILE |
Export as code snippets |
export-openapi FILE |
Generate OpenAPI spec |
Filtering Options
# Filter by HTTP method
http-log-explorer list-entries --method GET --method POST
# Filter by status code
http-log-explorer list-entries --status 200 --status 404
# Filter by URL pattern (regex)
http-log-explorer list-entries --url "/api/users"
# Filter by content type
http-log-explorer list-entries --content-type application/json
Supported Formats
HAR Files (HTTP Archive)
Export from browser DevTools or capture with tools like Wireshark.
curl -v Output
Paste output from curl -v or curl --verbose.
Chrome DevTools Network Export
Export network requests from Chrome DevTools.
Configuration
Environment Variables
HTTP_LOG_DEBUG=true- Enable verbose output
Examples
Analyzing API Traffic
# Load traffic data
http-log-explorer load api_traffic.har
# See overall statistics
http-log-explorer stats
# Find all 4xx errors
http-log-explorer list-entries --status 404 --status 400
# Search for specific endpoints
http-log-explorer search "/users"
Generating API Documentation
# Load traffic and export OpenAPI spec
http-log-explorer load api.har
http-log-explorer export-openapi openapi.json --title "User API" --version "2.0"
Exporting to Code
# Export as Python requests
http-log-explorer load api.har
http-log-explorer export-code client.py --language python
# Export as JavaScript/Node.js
http-log-explorer export-code client.js --language javascript
# Export as Go
http-log-explorer export-code client.go --language go
License
MIT License - see LICENSE file for details
Contributing
Contributions welcome! Please ensure tests pass before submitting PRs.
pytest tests/ -v
ruff check http_log_explorer/