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

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

  •  
  •   NanonaN · 2021-10-29 16:46:36 +08:00 · 5296 次点击
    这是一个创建于 1147 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天用 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 吗?

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

    我要骂一句,傻逼苹果,这么恶劣的 bug 好意思发出来。
    blanu
        10
    blanu  
       2022-03-30 19:37:01 +08:00
    iOS 15.4 、macOS 12.3 依然没修好,应该和上面我给出的 bug 无关,是 NSURLSession 的另一个 bug 。
    hzlzh
        11
    hzlzh  
       2022-05-02 23:25:41 +08:00
    @blanu 这个问题好难解决,目前没有找到办法禁用,你有新思路吗?
    neiltroyer849
        12
    neiltroyer849  
       2022-05-07 19:26:10 +08:00
    2022 都快到年中了 Safari 还是没有支持已经成为浏览器普遍标准 ES2018 的 RegExp lookbehind assertions ( 2017 年出来的东西到现在一些网页表格都看不了);到现在看 twich 导致的 GB 级内存泄漏也没修好,NSURLSession 不管不问就直接放在了新 safari 里当默认选项。确实已经无语到极点了
    hb751968840
        13
    hb751968840  
       2022-07-15 15:57:56 +08:00
    @jmllx1963 感谢。
    wsph123
        14
    wsph123  
       2022-10-05 00:45:11 +08:00
    @jmllx1963 感谢。

    这问题太离谱了😨
    forgetandnew
        15
    forgetandnew  
       291 天前
    依然存在,2024 年
    iamqk
        16
    iamqk  
       189 天前
    @forgetandnew 有解决方法吗?它们提到的选项在新版 safari 已经不存在了
    iamqk
        17
    iamqk  
       189 天前
    @forgetandnew 我的问题是直播的时候 弹幕不更新,我把缓存删除 然后在设置 阅读器及自动播放 的 b 站相关都打开就正常了
    loy6491
        18
    loy6491  
       183 天前
    没想会在这里搜到解决方案哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3184 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:42 · PVG 20:42 · LAX 04:42 · JFK 07:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.