V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
0x676e67
V2EX  ›  Python

使用黑魔法的异步 Python HTTP 客户端(Dev), curl-cffi 的替代品

  •  
  •   0x676e67 ·
    0x676e67 · 34 天前 · 2496 次点击
    这是一个创建于 34 天前的主题,其中的信息可能已经有所发展或是发生改变。

    rnet

    Powered by FFI from rquest.

    Features

    • Plain, JSON, urlencoded
    • Header Order
    • Redirect Policy
    • Cookie Store
    • HTTP Proxies
    • HTTPS via BoringSSL
    • Perfectly Chrome, Safari, and Firefox

    repo: https://github.com/0x676e67/rnet

    第 1 条附言  ·  31 天前
    2.17: 今日提交支持 Chrome133 、Firefox135 、Android Firefox 135
    第 2 条附言  ·  30 天前
    2.17-19.45: 支持 WebSocket
    第 3 条附言  ·  30 天前
    2.18: 今日支持 Firefox PC 135 隐私模式下的 TLS/HTTP2 模仿
    第 4 条附言  ·  29 天前
    2.18: Client 支持可选使用异步 DNS 解析器
    第 5 条附言  ·  25 天前
    2.22: 完成文件上传适配,至此基本客户端功能都适配完成。
    第 6 条附言  ·  22 天前
    2.25: 支持同步客户端
    第 7 条附言  ·  21 天前
    2.27: 支持流 body 、流式上传、实现 Python 字节缓冲区协议
    第 8 条附言  ·  2 天前
    11 条回复    2025-02-14 20:00:47 +08:00
    3085570450tt
        1
    3085570450tt  
       34 天前
    已 star
    最近在找 reqwest 的一些替代,主要是它太大了,想找个轻量级的一些方案。
    看了一下提供的 example 和源码,是不是目前只支持异步请求,暂时没看到同步请求相关的?
    w568w
        2
    w568w  
       34 天前
    太强了,已 star 。提一个建议:Features 里能强调一下和 reqwest 之类的流行 http client 库的区别最好,打出差异化

    另外是不是发错 Python 分区了?
    111111111111
        3
    111111111111  
       34 天前
    @w568w 看起来大佬先用 rust 写了一个 rquest ,又打包成了一个 python 版的 rnet
    w568w
        4
    w568w  
       34 天前
    @111111111111 #3 确实,是我看漏了。
    0x676e67
        5
    0x676e67  
    OP
       34 天前
    @3085570450tt PyO3 里写同步有点麻烦,FFI 的 rquest 没做同步支持。打算适配完 API 再做同步 API 适配
    0x676e67
        6
    0x676e67  
    OP
       34 天前
    @w568w Features 暂时没想好怎么写,API 还没适配完
    3085570450tt
        7
    3085570450tt  
       34 天前
    @0x676e67 抱歉,我只注意到了 rquest, 把 rnet 给看漏了,所以我上面的评论是对于 request 的
    yuchen198
        8
    yuchen198  
       34 天前
    先 mark 一下。不知道这个库比 curl-cffi 有哪些方面的优势?
    0x676e67
        9
    0x676e67  
    OP
       34 天前
    @yuchen198 举例: 在指纹模拟方面,因为 curl 局限性,并不支持 TLS PSK 扩展等等
    zeusho871
        10
    zeusho871  
       34 天前
    tls 指纹支持最新的 chrome131 吗
    0x676e67
        11
    0x676e67  
    OP
       33 天前
    @zeusho871 现在 chrome 最新发行版 stable 应该是 132 ,131 很早就支持了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5213 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 08:56 · PVG 16:56 · LAX 01:56 · JFK 04:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.