Skip to content

farfarfun/funfake

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

funfake

PyPI version Python License

一个轻量级的Python库,用于生成真实的HTTP请求头,帮助模拟各种浏览器和操作系统的网络请求。

✨ 特性

  • 🎭 真实模拟: 支持Chrome、Firefox、Opera等主流浏览器
  • 🖥️ 多平台: 支持Windows、macOS、Linux操作系统
  • 🎲 随机生成: 智能随机组合生成逼真的请求头
  • 🚀 零依赖: 纯Python实现,无外部依赖
  • 📦 轻量级: 简单易用的API设计
  • 🔄 高度可定制: 支持指定特定浏览器和操作系统

📦 安装

pip install funfake

🚀 快速开始

基础用法

from funfake import fake_header

# 生成随机请求头
headers = fake_header()
print(headers)
# 输出示例:
# {
#     'Accept': '*/*',
#     'Connection': 'keep-alive',
#     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',
#     'Accept-Encoding': 'gzip, deflate, br',
#     'Accept-Language': 'en-US;q=0.5,en;q=0.3',
#     'Referer': 'https://www.google.com'
# }

高级用法

from funfake import Headers

# 指定浏览器和操作系统
chrome_headers = Headers(browser='chrome', os='win', headers=True)
headers = chrome_headers.generate()

# 指定Firefox浏览器,macOS系统
firefox_headers = Headers(browser='firefox', os='mac', headers=True)
headers = firefox_headers.generate()

# 只生成基础请求头(不包含额外头信息)
basic_headers = Headers(browser='chrome', os='linux', headers=False)
headers = basic_headers.generate()

📚 API 文档

fake_header()

生成随机的HTTP请求头。

返回值: dict - 包含HTTP请求头的字典

Headers

用于自定义生成HTTP请求头的类。

参数:

  • browser (str, 可选): 浏览器类型

    • 'chrome': Chrome浏览器
    • 'firefox': Firefox浏览器
    • 'opera': Opera浏览器
    • None: 随机选择 (默认)
  • os (str, 可选): 操作系统类型

    • 'win': Windows系统
    • 'mac': macOS系统
    • 'lin': Linux系统
    • None: 随机选择 (默认)
  • headers (bool, 可选): 是否生成额外的HTTP头

    • True: 包含Accept-Encoding、Accept-Language等额外头信息
    • False: 只包含基础头信息 (默认)

方法:

  • generate(): 生成HTTP请求头字典

🎯 使用场景

  • Web爬虫: 避免被网站检测为机器人
  • API测试: 模拟真实用户请求
  • 负载测试: 生成多样化的请求头
  • 浏览器兼容性测试: 测试不同浏览器环境
  • 网络请求模拟: 在自动化测试中使用

📊 支持的浏览器版本

浏览器 支持版本数量 版本范围
Chrome 87+ 50.0 - 87.0
Firefox 138+ 50.0 - 80.0
Opera 42+ 50.0 - 67.0

🖥️ 支持的操作系统

  • Windows: Windows NT 6.0-6.3, Windows 10
  • macOS: Mac OS X 10.10-10.14
  • Linux: 支持x86_64、i686架构

🌐 真实引用域名

内置532个真实网站域名作为Referer,包括:

  • Google、YouTube、Facebook等主流网站
  • 各国Wikipedia、新闻媒体网站
  • 技术类网站如GitHub、Stack Overflow
  • 电商网站如Amazon、eBay

🔧 实际应用示例

在requests中使用

import requests
from funfake import fake_header

url = "https://httpbin.org/headers"
headers = fake_header()

response = requests.get(url, headers=headers)
print(response.json())

在爬虫中使用

import requests
from funfake import Headers

class WebScraper:
    def __init__(self):
        self.session = requests.Session()
        self.header_generator = Headers(headers=True)
    
    def get_page(self, url):
        # 每次请求使用不同的请求头
        headers = self.header_generator.generate()
        self.session.headers.update(headers)
        return self.session.get(url)

🤝 贡献

欢迎提交Issue和Pull Request!

📄 许可证

本项目采用MIT许可证 - 查看 LICENSE 文件了解详情。

👥 作者

🔗 相关链接

About

HTTP请求头生成库 - 生成真实的HTTP请求头,模拟各种浏览器和操作系统

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages