rnet
是一个用 Rust 实现的高性能 Python HTTP 客户端库,专注于提供精准的浏览器指纹识别功能和卓越的性能。它使开发人员能够使用 TLS 和 HTTP2 指纹识别发出 HTTP 请求,从而模拟 Chrome、Firefox、Safari 和 Edge 等热门浏览器。
核心功能
- 双 API 接口:异步和阻塞客户端
- 浏览器指纹识别:针对流行浏览器的准确 TLS 和 HTTP2 指纹识别
- WebSocket 支持:完整的 WebSocket 实现
- 性能优化:连接池、流传输、零拷贝传输
- 高级网络:代理支持、cookie 管理和保留顺序的自定义标头
- 安全功能:TLS 配置,通过 BoringSSL 的 HTTPS
rnet
采用分层架构设计,将 Python API 与 Rust 实现分离。PyO3 框架充当这些层之间的桥梁,允许将高性能 Rust 代码作为 Python 模块公开。
import asyncio
from rnet import Impersonate, Client
async def main():
# Build a client
client = Client(impersonate=Impersonate.Firefox136)
# Use the API you're already familiar with
resp = await client.get("https://tls.peet.ws/api/all")
# Print the response
print(await resp.text())
if __name__ == "__main__":
asyncio.run(main())
评论