SSL:CERTIFICATE_VERIFY_FAILED 尝试连接到 python3.7 中的 websocket

SSL: CERTIFICATE_VERIFY_FAILED while trying to connect to a websocket in python3.7

这是我正在尝试的 运行

        ws = websocket.WebSocketApp('wss://open.rocket.chat/sockjs/websocket',
                                header=["User-Agent: MyProgram", "x-custom: header"],
                                on_open=on_open,
                                on_message=on_message,
                                on_error=on_error,
                                on_close=on_close,
                                on_ping=on_ping
                                )
        ws.run_forever()

当我 运行 代码时,我从 on_error 函数得到这个错误:

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1091)

我正在 运行在 macOS 上编写代码,python3.7

要求包括:

websocket==0.2.1
websocket-client==0.58.0

我之前尝试的解决方案是在上面添加 headers,它在 Windows 和 linux 环境中有效,但在 macOS 中无效。

我试过的另一件事是像这样关闭ssl验证export PYTHONHTTPSVERIFY=0 ,这也不起作用。

能否请您解释一下这个错误背后的原因,以及为什么不一致? 有时有效有时无效! 我想了解能够永久解决它的原因。 有什么建议吗?

我找到了 MacOS 的答案。

您只需导航至 Applications/Python 3.x

和运行这个文件Install Certificates.command