Skip to content

Latest commit

 

History

History
26 lines (16 loc) · 1.47 KB

File metadata and controls

26 lines (16 loc) · 1.47 KB

FAQ

为什么不直接封装网络数据包,而要打开一个真实浏览器?

因为这个项目优先追求的是稳定复用网页侧真实能力,不是做一个「看起来更轻」的抓包转发器。

直接封装网络包当然更省资源,但长期使用时通常有这些问题:

  • 登录态不只是一个固定 Cookie
    很多站点除了 sessionKey,还依赖浏览器里的本地存储、页面初始化状态、动态 token 等运行时上下文。

  • 前端协议不是静态不变的
    有些请求字段是前端 JS 在运行时组装的,站点一改前端逻辑,纯抓包方案就容易失效。

  • 更容易碰到风控
    真实浏览器天然更接近站点预期的访问行为;纯脚本直连接口更容易因为指纹、请求时序、上下文缺失而被拦。

  • 会话复用更自然
    这个项目需要长期维持网页会话、支持断点续聊、支持账号切换后的调度。浏览器方案更容易和网页端保持一致。

  • 调试成本更低
    出问题时可以直接看真实页面、真实登录态、真实请求环境,而不是只盯着抓包日志猜协议哪里变了。

一句话说,这个项目是用更高的资源成本,换更强的稳定性、兼容性和可维护性。

当然,浏览器方案也有代价:更吃内存、冷启动更慢、调度逻辑更复杂。所以这不是最轻的方案,而是更适合「长期跑、尽量少因为站点变动而失效」的方案。