Python 3.4 SSL error urlopen error EOF occurred in violation of protocol (_ssl.c:600)

前端 未结 2 903
傲寒
傲寒 2020-12-21 00:50

I use Arch Linux, python 3.4, openSSL 1.0.2d. When I make request to https://www.supercash.cz/ I get this error. It doesn\'t matter if I use requests or build in urllib ther

相关标签:
2条回答
  • 2020-12-21 01:01

    One potential solution is described here

    https://github.com/kennethreitz/requests/issues/3006#issuecomment-274058323

    Using python3 and installing the combo (pyopenssl ndg-httpsclient pyasn1 urllib3) did the trick.

    pip install pyopenssl ndg-httpsclient pyasn1 urllib3
    
    0 讨论(0)
  • 2020-12-21 01:20

    This is the same error as this one: Python Requests requests.exceptions.SSLError: [Errno 8] _ssl.c:504: EOF occurred in violation of protocol

    You'll have to use custom HTTPAdapter as stated here: https://stackoverflow.com/a/14146031/407580

    >>> import requests
    >>> from requests.adapters import HTTPAdapter
    >>> from requests.packages.urllib3.poolmanager import PoolManager
    >>> import ssl
    >>>
    >>> class MyAdapter(HTTPAdapter):
    ...     def init_poolmanager(self, connections, maxsize, block=False):
    ...         self.poolmanager = PoolManager(num_pools=connections,
    ...                                        maxsize=maxsize,
    ...                                        block=block,
    ...                                        ssl_version=ssl.PROTOCOL_TLSv1)
    ...
    >>> s = requests.Session()
    >>> s.mount('https://', MyAdapter())
    >>> s.get('https://www.supercash.cz')
    <Response [200]>
    
    0 讨论(0)
提交回复
热议问题