当前位置: 代码迷 >> 综合 >> HTTPSConnection 发生错误ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:841)
  详细解决方案

HTTPSConnection 发生错误ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:841)

热度:78   发布时间:2024-02-23 00:26:18.0

当request的时候出现错误ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:841)

conn = httplib.HTTPSConnection(host, port)
conn.request('GET', path, params, headers)

在网上一番查询后目前怀疑是ssl协议版本不对应导致,目前尝试的方法有:

方法一:(失败)

下载一些库来补全

pip install pyopenssl ndg-httpsclient pyasn1

pip install -U urllib3

pip install -U channels

pip --cert /Users/user/cacert.pem install -U channels

pip install requests[security]

方法二:(失败)

在连接建立前重写SSL使用的版本

from functools import wraps
def sslwrap(func):@wraps(func)def bar(*args, **kw):kw['ssl_version'] = ssl.PROTOCOL_TLSreturn func(*args, **kw)return barssl.wrap_socket = sslwrap(ssl.wrap_socket)

方法三:(失败)

在HTTPSConnection处context参数改变协议

context = ssl.SSLContext(ssl.PROTOCOL_TLS)
conn = httplib.HTTPSConnection(host, port,context=context)

 目前没有方法解决我的问题还是依旧报错,后续继续寻找办法解决

  相关解决方案