生成随机但真实的 HTTP 请求头,支持 Chrome、Edge、Firefox、Safari 浏览器
Project description
du-fake-header
一个用于生成随机但真实的 HTTP 请求头的 Python 库,支持 Chrome、Edge、Firefox、Safari 浏览器。
特性
- 🌍 多浏览器支持: Chrome, Edge, Firefox, Safari
- 💻 多操作系统: Windows, macOS, Linux
- 🔄 随机版本: 自动从真实浏览器版本中随机选择
- 🔍 Client Hints 支持: Chromium 系浏览器自动生成 Client Hints
- ⚙️ 正确排序: 按照真实浏览器的头部顺序输出
- 🛡️ 参数验证: 防止无效的浏览器/操作系统组合
安装
pip install du-fake-header
# 或使用UV
uv add du-fake-header
快速开始
基本使用
from du_fake_header import FakeHeader
# 初始化生成器
header_gen = FakeHeader(os='Windows', browser='Chrome')
# 生成随机头部
header = header_gen.random()
# 使用 requests
import requests
response = requests.get('https://example.com', headers=header_gen.to_dict())
支持的浏览器和操作系统
| 浏览器 | Windows | macOS | Linux |
|---|---|---|---|
| Chrome | ✓ | ✓ | ✓ |
| Edge | ✓ | ✗ | ✗ |
| Firefox | ✓ | ✓ | ✓ |
| Safari | ✗ | ✓ | ✗ |
详织示例
from du_fake_header import FakeHeader
# 不同浏览器的使用
browsers_and_os = [
('Chrome', 'Windows'),
('Firefox', 'Linux'),
('Safari', 'macOS'),
('Edge', 'Windows')
]
for browser, os_name in browsers_and_os:
gen = FakeHeader(browser=browser, os=os_name)
header = gen.random(referer='https://www.google.com')
print(f"\n=== {browser} on {os_name} ===")
print(f"User-Agent: {header.user_agent}")
# 获取字典格式(用于 requests)
headers_dict = header.to_dict()
print(f"Headers count: {len(headers_dict)}")
API 参考
FakeHeader 类
class FakeHeader:
def __init__(self, os: str = "Windows", browser: str = "Chrome")
参数:
os: 操作系统名称 ("Windows","macOS","Linux")browser: 浏览器名称 ("Chrome","Edge","Firefox","Safari")
方法:
random(referer=None) -> Header
生成随机 HTTP 头部。
参数:
referer(optional): 自定义 Referer 头部值
返回: Header 对象
to_dict(header=None) -> Dict[str, str]
返回适用于 requests 库的字典格式头部。
Header 类
class Header(BaseModel):
user_agent: str
referer: Optional[str] = None
accept: str
accept_language: str
accept_encoding: str
# ... 更多字段
方法:
to_dict() -> Dict[str, str]
返回所有非空头部的字典。
生成的头部字段
基本头部
User-Agent: 浏览器标识Accept: 可接受的内容类型Accept-Language: 语言偏好Accept-Encoding: 编码支持Connection: 连接类型Upgrade-Insecure-Requests: HTTPS 升级请求
Fetch 元数据头部
Sec-Fetch-Site: 请求来源站点Sec-Fetch-Mode: 请求模式Sec-Fetch-User: 用户启动Sec-Fetch-Dest: 请求目标
Client Hints(Chromium 浏览器)
Sec-CH-UA: 浏览器品牌和版本Sec-CH-UA-Mobile: 是否移动设备Sec-CH-UA-Platform: 操作系统平台
可选头部
Referer: 来源页面 URL
注意事项
- 浏览器限制: Safari 仅支持 macOS,Edge 仅支持 Windows
- 版本更新: 使用的浏览器版本数据库定期更新,保持时效性
- 头部顺序: 不同浏览器的头部顺序不同,本库会自动处理
- Client Hints: 只有 Chromium 系浏览器(Chrome/Edge)才会生成 Client Hints
许可证
MIT License
更新日志
v0.1.0 (2024-10-10)
- 初始发布
- 支持 Chrome、Edge、Firefox、Safari 四种浏览器
- 支持 Windows、macOS、Linux 操作系统
- 支持 Client Hints 生成
- 支持 requests 和 httpx 格式输出
- 完整的参数验证和错误处理
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
du_fake_header-0.1.0.tar.gz
(7.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file du_fake_header-0.1.0.tar.gz.
File metadata
- Download URL: du_fake_header-0.1.0.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45975bd084285f12b6cfa2d9b62d08ef4cbee3b3e48748847bd89686034709cc
|
|
| MD5 |
e0461ff88aabbe6a326f6c92c2556d6e
|
|
| BLAKE2b-256 |
badf3568b64655b1c65043ef258068dc8e7fe486686bf566b563b915ef1593eb
|
File details
Details for the file du_fake_header-0.1.0-py3-none-any.whl.
File metadata
- Download URL: du_fake_header-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d69b87f24edbf9100c006f65b2fb0250fdd859251ef5d1fc72a2ae853dc5735d
|
|
| MD5 |
8b34abf8d7ed1b6a55c5a871f4e52519
|
|
| BLAKE2b-256 |
d0378a73d45ebeac61092b7fefd7c4faca7c6b805b1bb5e1c440f308b1b7e9b3
|