V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NanonaN
V2EX  ›  Apple

Safari 15.1 在有系统代理的情况下无法连接 WebSocket?

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

    今天用 B 站看直播的时候遇到了这个问题,系统 macOS Monterey ,Safari 版本 15.1 ,B 站直播的弹幕加载不出来,检查网页发现主要是由于 WebSocket 报错引起,“WebSocket connection to 'wss://tx-bj-live-comet-06.chat.bilibili.com/sub' failed: The operation couldn’t be completed. (kNWErrorDomainPOSIX error 57 - Socket is not connected)”。此时 ClashX 设为系统代理,无论是直连模式、规则模式还是全局模式,都会发生这个错误,但只要退出 ClashX 或关闭系统代理后问题即消失。此问题只在 Safari 中出现,Chrome 和 Edge 则没有这个问题。这是 Safari 15 引入的新 Bug 吗?

    12 条回复    2022-05-07 19:26:10 +08:00
    jmllx1963
        1
    jmllx1963  
       242 天前   ❤️ 10
    Monterey 的 Safari 开启了 NSURLSession WebSocket 这个实验性特性,会导致 WebSocket 在 HTTPS 代理下无法工作,在开发者菜单中关掉之后一切正常。
    NanonaN
        2
    NanonaN  
    OP
       242 天前   ❤️ 1
    经过搜索后发现在 Safari 里的开发->试验性功能->NSURLSession WebSocket 取消勾选后问题消失,打扰了
    NanonaN
        3
    NanonaN  
    OP
       242 天前
    @jmllx1963 谢谢,我刚刚也搜到这个解决方案了🙏
    ab
        4
    ab  
       242 天前 via iPhone
    谢谢
    LoneFireBlossom
        5
    LoneFireBlossom  
       242 天前
    Catalina 的 Safari 15.1 试验性功能里竟然没有这个选项……
    outtime
        6
    outtime  
       211 天前
    感谢,刚遇到这个问题,我对着 ws 实现部分琢磨半天。。。
    kenshin912
        7
    kenshin912  
       210 天前
    感谢 , 同样在 Monterey 中的 Safari 里遇到了这个问题 , 关闭 NSURLSession WebSocket 后正常工作了.
    NatPower
        8
    NatPower  
       134 天前
    @jmllx1963 我的天,你简直是大神。困扰我好几个月了。这个傻子 safari
    blanu
        9
    blanu  
       125 天前
    相关 bug (不是 WebKit 的 bug ,是系统底层框架 NSURLSession 的): https://bugs.webkit.org/show_bug.cgi?id=228296

    我要骂一句,傻逼苹果,这么恶劣的 bug 好意思发出来。
    blanu
        10
    blanu  
       90 天前
    iOS 15.4 、macOS 12.3 依然没修好,应该和上面我给出的 bug 无关,是 NSURLSession 的另一个 bug 。
    hzlzh
        11
    hzlzh  
       57 天前
    @blanu 这个问题好难解决,目前没有找到办法禁用,你有新思路吗?
    neiltroyer849
        12
    neiltroyer849  
       52 天前
    2022 都快到年中了 Safari 还是没有支持已经成为浏览器普遍标准 ES2018 的 RegExp lookbehind assertions ( 2017 年出来的东西到现在一些网页表格都看不了);到现在看 twich 导致的 GB 级内存泄漏也没修好,NSURLSession 不管不问就直接放在了新 safari 里当默认选项。确实已经无语到极点了
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3499 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 04:11 · PVG 12:11 · LAX 21:11 · JFK 00:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.