【发布时间】:2017-05-25 01:58:18
【问题描述】:
我正在使用 Python,我正在尝试抓取这个网站: https://online.ratb.ro/info/browsers.aspx
但我收到此错误:
Traceback(最近一次调用最后一次):
文件 “C:\Users\pinguluk\Desktop\Proiecte GIT\RATB Scraper\test2.py”,行 3、在
test = requests.get('https://online.ratb.ro/info/browsers.aspx')
文件“C:\Python27\lib\site-packages\requests\api.py”,第 72 行, 在得到
return request('get', url, params=params, **kwargs)
文件“C:\Python27\lib\site-packages\requests\api.py”,第 58 行,在请求中
return session.request(method=method, url=url, **kwargs)
文件“C:\Python27\lib\site-packages\requests\sessions.py”,第 518 行, 请求中
resp = self.send(prep, **send_kwargs)
文件“C:\Python27\lib\site-packages\requests\sessions.py”,第 639 行,在 发送
r = adapter.send(request, **kwargs)
文件“C:\Python27\lib\site-packages\requests\adapters.py”,第 512 行,在 发送
引发 SSLError(e, request=request)
requests.exceptions.SSLError: ("糟糕的握手: SysCallError(-1, '意外的 EOF')",)
已安装的模块:
['appdirs==1.4.3', 'asn1crypto==0.22.0', 'attrs==16.3.0', '自动==0.5.0','beautifulsoup4==4.5.3','cairocffi==0.8.0', 'certifi==2017.4.17', 'cffi==1.10.0', 'colorama==0.3.9', '不断==15.1.0','密码学==1.8.1','cssselect==1.0.1', 'cycler==0.10.0', 'distributedlock==1.2', 'django-annoying==0.10.3', 'django-oauth-tokens==0.6.3', 'django-taggit==0.22.1', 'django==1.11.1', 'enum34==1.1.6', 'facepy==1.0.8', 'functools32==3.2.3.post2', '期货==3.1.1', 'gevent==1.2.1', 'greenlet==0.4.12', 'grequests==0.3.0', 'html5lib==0.999999999', 'htmlparser==0.0.2', 'httplib2==0.10.3', 'idna==2.5', '增量==16.10.1', 'ipaddress==1.0.18', 'lazyme==0.0.10', 'lxml==3.7.3', 'matplotlib==2.0.2', 'mechanize==0.3.3', 'ndg-httpsclient==0.4.2', 'numpy==1.12.1', 'oauthlib==2.0.2', 'olefile==0.44', 'opencv-python==3.2.0.7', '包装==16.8', 'parsel==1.1.0', '枕头==4.0.0', 'pip==9.0.1', 'py2exe==0.6.9', 'pyandoc==0.0.1', 'pyasn1-modules==0.0.8', 'pyasn1==0.2.3', 'pycairo-gtk==1.10.0', 'pycparser==2.17', 'pygtk==2.22.0', 'pyhook==1.5.1', 'pynput==1.3.2', 'pyopenssl==17.0.0', 'pyparsing==2.2.0', 'pypiwin32==219', 'pyquery==1.2.17', 'python-dateutil==2.6.0'、'python-memcached==1.58'、'pytz==2017.2'、 'pywin32==221', 'queuelib==1.4.2', 'requests-futures==0.9.7', 'requests-oauthlib==0.8.0', 'requests-toolbelt==0.8.0', 'requests==2.14.2', 'restclient==0.11.0', 'robobrowser==0.5.3', 'selenium==3.4.1', '服务身份==16.0.0', 'setuptools==35.0.2', 'simplejson==3.10.0', '六==1.10.0', 'twitter==1.17.0', 'twitterfollowbot==2.0.2', 'urllib3==1.21.1', 'w3lib==1.17.0', 'webencodings==0.5.1', 'werkzeug==0.12.1', 'wheel==0.29.0', 'zope.interface==4.3.3']
谢谢。
【问题讨论】:
-
这是与Requests failing to connect to a TLS server 类似的问题,并且将密码显式设置为 3DES 的相同解决方案应该可以工作。
-
@SteffenUllrich 非常感谢!现在它可以工作了(在 Python 3 上)。只是一个问题,如何为 Python 2 版本配置它?
-
这对我也适用于 Python 2。但可能是您使用的 openssl 版本不支持 3DES,例如 openssl 1.1.0。检查
ssl.OPENSSL_VERSION。在这种情况下,您需要使用 3DES 支持来重建它。
标签: python python-2.7 ssl python-requests