SSLZeroReturnError 仅在 python 3.10 中出现错误

pyt*_*789 6 python ssl openssl python-3.x python-3.10

我使用该代码连接 ssl 服务器

import socket
import ssl
import sys
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_socket = ssl.wrap_socket(sock)
ssl_socket.connect((sys.argv[1], int(sys.argv[2])))
Run Code Online (Sandbox Code Playgroud)

当我使用 pyhton3.7 运行此代码时一切正常

但是当我使用 Python 3.10.4 运行这段代码时,我得到了这个错误:

Traceback (most recent call last):
  File "test_ssl.py", line 6, in <module>
    ssl_socket.connect((sys.argv[1], int(sys.argv[2])))
  File "/usr/lib/python3.10/ssl.py", line 1374, in connect
    self._real_connect(addr, False)
  File "/usr/lib/python3.10/ssl.py", line 1365, in _real_connect
    self.do_handshake()
  File "/usr/lib/python3.10/ssl.py", line 1341, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLZeroReturnError: TLS/SSL connection has been closed (EOF) (_ssl.c:997)
Run Code Online (Sandbox Code Playgroud)

如何修复此代码适用于 Python 3.10.4 的问题?

在 python 3.10.4 中我有OpenSSL 3.0.2 15 Mar 2022

在 python 3.7 中我有OpenSSL 3.0.2 15 Mar 2022