Quick Start¶
This guide will help you get started with pyheaderparse in just a few minutes.
Basic Usage¶
Parsing HTTP Headers¶
from parser_header import HeaderParser
# Parse raw HTTP headers
raw_headers = """content-type: application/json
content-length: 1024
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/144.0.0.0
accept: */*
cookie: session=abc123; user=john
"""
parser = HeaderParser(raw_headers)
# Access headers via properties
print(parser.content_type) # 'application/json'
print(parser.content_length) # 1024 (as int)
print(parser.user_agent) # 'Mozilla/5.0 ...'
# Access any header
print(parser.get('accept')) # [{'type': '*/*', 'q': 1.0}]
Output:
application/json
1024
Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/144.0.0.0
[{'type': '*/*', 'q': 1.0}]
Creating Headers from Kwargs¶
from parser_header import HeaderParser
# Create headers using keyword arguments
# Note: underscores are converted to hyphens automatically
parser = HeaderParser(
content_type='application/json',
user_agent='MyApp/1.0',
x_request_id='req-12345',
authorization='Bearer token123'
)
print(parser.to_raw())
Output:
content-type: application/json
user-agent: MyApp/1.0
x-request-id: req-12345
authorization: Bearer token123
Setting and Modifying Headers¶
Using set() Method¶
from parser_header import HeaderParser
parser = HeaderParser()
# Positional arguments
parser.set('Content-Type', 'application/json')
# Kwargs only
parser.set(user_agent='Mozilla/5.0', accept='*/*')
# Mixed
parser.set('Authorization', 'Bearer token', x_request_id='12345')
print(parser.to_raw())
Output:
content-type: application/json
user-agent: Mozilla/5.0
accept: */*
authorization: Bearer token
x-request-id: 12345
Method Chaining¶
from parser_header import HeaderParser
parser = (
HeaderParser()
.set(content_type='application/json')
.set(accept='*/*')
.set(user_agent='MyApp/1.0')
.set_cookie(session='abc123', user='john')
)
print(parser.to_raw())
print(f"Cookies: {parser.get_cookies_as_header()}")
Output:
content-type: application/json
accept: */*
user-agent: MyApp/1.0
Cookies: session=abc123; user=john
Integration with Requests Library¶
from parser_header import HeaderParser
import requests
# Create headers
parser = HeaderParser(
content_type='application/json',
authorization='Bearer my-token',
user_agent='MyApp/1.0'
)
# Convert to requests-compatible format
headers = parser.to_requests_headers()
# Use with requests
response = requests.get('https://httpbin.org/get', headers=headers)
print(response.json())
# Parse response headers
response_parser = HeaderParser.from_requests_response(response)
print(f"Response Content-Type: {response_parser.content_type}")
CLI Quick Start¶
Parse headers from a file:
$ pyheaderparse parse -f headers.txt
{
"content-type": {"value": "application/json", "params": {}},
"content-length": 1024,
"user-agent": "Mozilla/5.0"
}
Get specific header:
$ pyheaderparse parse -f headers.txt --header user-agent
"Mozilla/5.0"
Parse cookies:
$ pyheaderparse cookies -f headers.txt --full-headers --as-header
session=abc123; user=john; token=xyz789
What’s Next?¶
HeaderParser - Detailed HeaderParser guide
CookieParser - Detailed CookieParser guide
Special Headers - Parsing special headers (Client Hints, etc.)
API Reference - Complete API reference